Programación estructurada Técnica de construcción de programas que utilizan al máximo los recursos del lenguaje, limita el conjunto de estructuras aplicables a leer y presenta una serie de reglas que coordinan adecuadamente el desarrollo de las diferentes fases de la programación. Estructuras básicas de control. Recursos abstractos Diseño descendente 13
Estructuras básicas de control El teorema de la estructura(Bohm y Jacopini 1966) establece que un programa propio puede ser escrito utilizando solamente las siguientes estructuras lógicas de control: secuencia, selección e iteración. Un programa se define como propio si cumple con los dos requerimientos siguientes: Tiene exactamente una entrada y una salida para control del programa. Existen caminos seguibles desde la entrada hasta la salida que conducen por cada parte del programa, es decir, no existen lazos infinitos ni instrucciones que no se ejecutan
14
Recursos abstractos Diseñar o concebir un problema en términos abstractos consiste en no tener en cuenta la máquina que lo va a resolver así como el lenguaje de programación que se va a utilizar. Ejemplo : El concepto de variable implica una abstracción cuando se da un nombre a una operación determinada, y se utiliza considerando lo que hace pero sin preocuparnos de cómo lo hace. 15
Metodología descendente Consiste en establecer una serie de niveles de menor o mayor complejidad que den solución al problema. Un programa estructurado tiene una representación en forma de árbol. El diseño se basa en la realización de diferentes niveles. 16
Diseño de programas estructurados. La realización del diseño estructurado de un programa se basa en la aplicación de los siguientes conceptos: Ir de lo general a lo particular, descendiendo en la estructura del programa y en su nivel de detalle. De la definición inicial del problema se pasa a un esquema de algoritmo descrito en pseudocódigo. Independencia inicial del lenguaje. Diseño por niveles. Verificar en cada nivel el esquema correcto. Finalizar con un trabajo de recomposición del algoritmo completo. 17
Ejemplo de programa con GOTO 10 CLS 20 A=10 30 INPUT B 40 IF B=A THEN GOTO 50 ELSE GOTO 70 50 PRINT A Y B SON IGUALES 60 GOTO 100 70 IF A>B THEN GOTO 80 ELSE GOTO 90 80 B=B+1; GOTO 40 90 B=B-1; GOTO 40 100 END
18
Ejemplo de programa sin GOTO PROGRAM NUMEROSIGUALES BEGIN CLEARSCREEN; A:=10; INPUT B; REPEAT IF B=A THEN PRINT A Y B SON IGUALES ELSE REDUCEDIFERENCIA(A,B); UNTIL B=A; END; 19
PROCEDURE REDUCEDIFERENCIA(A,B); BEGIN IF A>B THEN B:= B+1 ELSE B:= B-1 END 20
Ventajas de la programación estructurada. Los programas son más fáciles de entender Reducción del esfuerzo en las pruebas. Reducción de los costos de mantenimiento. Programas más sencillos y más rápidos Aumento de la productividad del programador Los programas quedan mejor documentados internamente. 21
RELACIÓN HISTÓRICA DE LAS PRINCIPALES METODOLOGÍAS 1968 Conceptos sobre la programación estructurada de DIJKSTRA 1974 Técnicas de programación estructurada de WARNIER y JACKSON 1975 Primeros conceptos sobre diseño estructurado de MYERS y YOURDON 1978 Análisis estructurado: DEMARCO y WEINBERG 1985 Análisis y Diseño estructurado para sistemas de tiempo real de WARD y MELLOR 1987 Análisis y Diseño estructurado para sistemas de tiempo real HATLEY y PIRKBAY 22
Referencias
Metodología de la programación estructurada, Joyanes, Luis, Editorial McGraw Hill, 1993. Colaboradores de Wikipedia. Programación estructurada [en línea]. Wikipedia, La enciclopedia libre, 2009 [fecha de consulta: 30 de septiembre del 2009]. Disponible en < http://es.wikipedia.org/w/index.php?title=Programaci%C3%B3n_estructurada&oldid=30205148>. Colaboradores de Wikipedia. Vector (informática) [en línea]. Wikipedia, La enciclopedia libre, 2009 [fecha de consulta: 2 de octubre del 2009]. Disponible en < http://es.wikipedia.org/w/index.php?title=Vector_(inform%C3%A1tica)&oldid=30249361>.
23
Página anterior | Volver al principio del trabajo | Página siguiente |