2.1.3. Herramientas de programación.
Las dos herramientas mas utilizadas comúnmente para diseñar algoritmos son: diagramas de flujo y pseudocodicos.
Un diagrama de flujo (flowchart). Es una representación grafica de un algoritmo. Los símbolos utilizados han sido normalizados por el instituto norteamericano de normalización (ANSI). Y estos son los mas utilizados frecuentemente.
El pseudoscódigo es una herramienta de programación en la que las instrucciones se escriben en palabras similares al ingles o español, que facilitan tanto la escritura como la lectura de programas. En esencia, el pseudocodigo se puede definir como un lenguaje de especificaciones de algoritmos.
2.1.4. Codificación de un programa.Las dos herramientas mas utilizadas comúnmente para diseñar algoritmos son: diagramas de flujo y pseudocodicos.
Un diagrama de flujo (flowchart). Es una representación grafica de un algoritmo. Los símbolos utilizados han sido normalizados por el instituto norteamericano de normalización (ANSI). Y estos son los mas utilizados frecuentemente.
El pseudoscódigo es una herramienta de programación en la que las instrucciones se escriben en palabras similares al ingles o español, que facilitan tanto la escritura como la lectura de programas. En esencia, el pseudocodigo se puede definir como un lenguaje de especificaciones de algoritmos.
Codificación es la escritura en un lenguaje de programación de la representación del algoritmo desarrollada en las etapas precedentes. Dado que el diseño de un algoritmo es independiente del lenguaje de programación utilizado para su implementación, el código puede ser escrito con igual facilidad en un lenguaje o en otro.
Documentación interna.
La documentación de un programa se clasifica en interna y externa. La documentación interna es la que se incluye dentro del codigo del programa fuente mediante comentarios que ayudan a la compresión del codigo.
2.1.5. Compilación y ejecución de un programa.
Una vez que el algoritmo se ha convertido en un programa fuente, es preciso introducirlo en memoria mediante el teclado y almacenarlo posteriormente en un disco. Esta operación se realiza con un programa editor.
2.1.6. Verificación y depuración de un programa.
Es el proceso de ejecución del programa con una compilación variedad de datos de entrada, llamados de test o prueba, que determinan si el programa tiene errores (<>). Para realizar la verificación se debe desarrollar una amplia gama de datos de test: valores normales de entrada, valores extremos de entrada que comprueben los limites del programa y valores de entrada que compruebe aspectos especiales del programa.
2.1.7. Documentación y mantenimiento.
La documentación de un problema consta de las descripciones de los pasos a dar en el proceso de resolucion de dicho problema. La importancia de la documentación debe ser destacada por su desiciva influencia en el producto final.
La documentación es vital cuando se desea corregir posibles errores futuros o bien cambiar el programa. Tales cambios se denominan mantenimiento del programa.
2.2. Programación Modular
Es uno de los metodos de diseño mas flexible y potente para mejorar la productividad de un programa.en programación modular el programa se divide en rotulos
9partes independientes), cada uno de los cuales ejecuta una unica actividad o tarea y se codifican independientemente de otros modulos.
Los modulos son independientes en el sitio en que ningun modulo puede tener acceso directo a cualquier otro modulo excepto el modulo al que llama y sus propios submodulos. Sin embargo, los resultados producidos por un modulo pueden ser utilizados por cualquier otro modulo cuando se transfiera a ellos el control.
Es el proceso de ejecución del programa con una compilación variedad de datos de entrada, llamados de test o prueba, que determinan si el programa tiene errores (<
2.1.7. Documentación y mantenimiento.
La documentación de un problema consta de las descripciones de los pasos a dar en el proceso de resolucion de dicho problema. La importancia de la documentación debe ser destacada por su desiciva influencia en el producto final.
La documentación es vital cuando se desea corregir posibles errores futuros o bien cambiar el programa. Tales cambios se denominan mantenimiento del programa.
2.2. Programación Modular
Es uno de los metodos de diseño mas flexible y potente para mejorar la productividad de un programa.en programación modular el programa se divide en rotulos
9partes independientes), cada uno de los cuales ejecuta una unica actividad o tarea y se codifican independientemente de otros modulos.
Los modulos son independientes en el sitio en que ningun modulo puede tener acceso directo a cualquier otro modulo excepto el modulo al que llama y sus propios submodulos. Sin embargo, los resultados producidos por un modulo pueden ser utilizados por cualquier otro modulo cuando se transfiera a ellos el control.
2.3. Programación Estructurada.
Significa escribir un programa de acuerdo a las siguientes reglas:
· El programa tiene un diseño modular.
· Los modulos son diseñados de modo descendente.
· Cada modulo se codifica utilizando las tres estructuras de control basicas: secuencia, selección y repetición.
La programación estructurada es el conjunto de tecnicas que incorporan:
· Recursos abstractos
· Diseños descendentes (top-down)
· Estructuras básicas.
La programación estructurada significa que.
· El programa completo tiene un diseño modular.
· Los módulos se diseñan con metolodias descendente (puede hacerse también ascendente).
· Estructuración y modularidad son conceptos complementarios (se solapan).
2.4. CARACTERISTICAS DE LOS ALGORITMOS.
Las características fundamentales que debe cumplir todo algoritmo son:
· Un algoritmo debe ser preciso e indicar el orden de realización de cada paso.
· Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vez.
· Un algoritmo debe ser finito. Si se sigue un algoritmo, se debe terminar en algún momento; o sea, debe tener un numero finito de pasos.
La definición de un algoritmo debe describir tres partes: entrada, proceso y salida.
2.6. REPRESENTACION GRAFICA DE LOS ALGORITMOS.
Para representar un algoritmo se debe utilizar algún método que permita independizar dicho algoritmo del lenguaje de programación elegido. Ello permitirá que un algoritmo pueda ser codificado indistintivamente en cualquier lenguaje.
Los métodos usuales para representar un algoritmo son:
diagrama de flujo.
diagrama N-S (Nassi-Schneiderman),
lenguaje de especificación de algoritmos: pseudocodigo,
lenguaje español, ingles…
formulas.
2.7. EL CICLO DE VIDA DEL SOFTWARE.
Existen dos niveles en la construcción de programas: aquellos relativos a pequeños programas (los que normalmente realizan programadores individuales) y aquellos que se refieren a sistemas de desarrollo de programas grandes (proyectos de software) y que, generalmente, requieren un equipo de programadores en lugar de personas individuales. El primer nivel se denomina programación a pequeña escala; el segundo nivel se denomina programación a gran escala.
El ciclo de vida de un software es un proceso iterativo, de modo que se modificaran las sucesivas etapas en función de la modificación de las especificaciones de los requisitos producidos en la fase de diseño o implementación, o bien una vez que el sistema se ha implementado, y probado, pueden aparecer errores que serán necesario corregir y depurar, y que requieren la repetición de etapas anteriores.
2.8. METODOS FORMALES DE VERIFICACION DE PROGRAMAS.
Aunque la verificación formal de programas se salen fuera del ámbito de este libro, por su importancia vamos a considerar dos conceptos clave, asertos (afirmaciones) y precondiciones/postcondiciones invariantes que ayudan a documentar, corregir y clarificar el diseño de módulos y de programas.
Aserciones.
Una parte importante de una verificación formal es la documentación de un programa a través de asertos o afirmaciones –sentencias lógicas acerca del programa que se declaran <>----. Un aserto se escribe como un comentario y describe lo que se supone sea verdadero sobre las variables del programa en ese punto.
Precondiciones y Postcondiciones.
Las precondiciones y postcondiciones son afirmaciones sencillas sobre condiciones al principio y al final de los módulos. Una precondición de un procedimiento es una afirmación lógica sobre sus parámetros de entrada; se supone que es verdadera cuando se llama al procedimiento. Una postcondicion de un procedimiento puede ser una afirmación lógica que describe el efecto de llamar al procedimiento.
Significa escribir un programa de acuerdo a las siguientes reglas:
· El programa tiene un diseño modular.
· Los modulos son diseñados de modo descendente.
· Cada modulo se codifica utilizando las tres estructuras de control basicas: secuencia, selección y repetición.
La programación estructurada es el conjunto de tecnicas que incorporan:
· Recursos abstractos
· Diseños descendentes (top-down)
· Estructuras básicas.
La programación estructurada significa que.
· El programa completo tiene un diseño modular.
· Los módulos se diseñan con metolodias descendente (puede hacerse también ascendente).
· Estructuración y modularidad son conceptos complementarios (se solapan).
2.4. CARACTERISTICAS DE LOS ALGORITMOS.
Las características fundamentales que debe cumplir todo algoritmo son:
· Un algoritmo debe ser preciso e indicar el orden de realización de cada paso.
· Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vez.
· Un algoritmo debe ser finito. Si se sigue un algoritmo, se debe terminar en algún momento; o sea, debe tener un numero finito de pasos.
La definición de un algoritmo debe describir tres partes: entrada, proceso y salida.
2.6. REPRESENTACION GRAFICA DE LOS ALGORITMOS.
Para representar un algoritmo se debe utilizar algún método que permita independizar dicho algoritmo del lenguaje de programación elegido. Ello permitirá que un algoritmo pueda ser codificado indistintivamente en cualquier lenguaje.
Los métodos usuales para representar un algoritmo son:
diagrama de flujo.
diagrama N-S (Nassi-Schneiderman),
lenguaje de especificación de algoritmos: pseudocodigo,
lenguaje español, ingles…
formulas.
2.7. EL CICLO DE VIDA DEL SOFTWARE.
Existen dos niveles en la construcción de programas: aquellos relativos a pequeños programas (los que normalmente realizan programadores individuales) y aquellos que se refieren a sistemas de desarrollo de programas grandes (proyectos de software) y que, generalmente, requieren un equipo de programadores en lugar de personas individuales. El primer nivel se denomina programación a pequeña escala; el segundo nivel se denomina programación a gran escala.
El ciclo de vida de un software es un proceso iterativo, de modo que se modificaran las sucesivas etapas en función de la modificación de las especificaciones de los requisitos producidos en la fase de diseño o implementación, o bien una vez que el sistema se ha implementado, y probado, pueden aparecer errores que serán necesario corregir y depurar, y que requieren la repetición de etapas anteriores.
2.8. METODOS FORMALES DE VERIFICACION DE PROGRAMAS.
Aunque la verificación formal de programas se salen fuera del ámbito de este libro, por su importancia vamos a considerar dos conceptos clave, asertos (afirmaciones) y precondiciones/postcondiciones invariantes que ayudan a documentar, corregir y clarificar el diseño de módulos y de programas.
Aserciones.
Una parte importante de una verificación formal es la documentación de un programa a través de asertos o afirmaciones –sentencias lógicas acerca del programa que se declaran <
Precondiciones y Postcondiciones.
Las precondiciones y postcondiciones son afirmaciones sencillas sobre condiciones al principio y al final de los módulos. Una precondición de un procedimiento es una afirmación lógica sobre sus parámetros de entrada; se supone que es verdadera cuando se llama al procedimiento. Una postcondicion de un procedimiento puede ser una afirmación lógica que describe el efecto de llamar al procedimiento.
No hay comentarios:
Publicar un comentario