1.-PROGRAMACIÓN ESTRUCTURADA

4
Fundamentos de programación | 0BPROGRAMACIÓN ESTRUCTURADA 1 1. PROGRAMACIÓN ESTRUCTURADA La Programación Estructurada consiste en un conjunto de técnicas que emplea un número limitado de estructuras de control y cuyo objetivo es reducir la complejidad de los problemas y minimizar los errores. La programación estructurada incorpora: • diseño descendente (top-down) • recursos abstractos • estructuras básicas DISEÑO DESCENDENTE (TOP-DOWN) El diseño descendente es la técnica que permite descomponer un problema complejo en problemas más sencillos, realizándose esta operación de forma sucesiva hasta llegar al nivel mínimo de abstracción en el cual se pueden codificar las operaciones en un lenguaje de programación. Cada nivel de abstracción define de forma más concreta el problema y subdivide las operaciones en otras menos abstractas. Con esta técnica se crean distintos niveles de refinamiento que se representan de la siguiente forma: El Nivel 0 es el más abstracto, es la descripción funcional del problema. El último nivel es el que permite la codificación en un lenguaje de programación concreto. Ejemplo: Algoritmo que tiene como objetivo calcular la media de las notas de una clase

Transcript of 1.-PROGRAMACIÓN ESTRUCTURADA

Page 1: 1.-PROGRAMACIÓN ESTRUCTURADA

Fundamentos de programación | 0BPROGRAMACIÓN ESTRUCTURADA 1

1. PROGRAMACIÓN ESTRUCTURADA La Programación Estructurada consiste en un conjunto de técnicas que emplea un

número limitado de estructuras de control y cuyo objetivo es reducir la complejidad de los problemas y minimizar los errores.

La programación estructurada incorpora:

• diseño descendente (top-down) • recursos abstractos • estructuras básicas

DISEÑO DESCENDENTE (TOP-DOWN)

El diseño descendente es la técnica que permite descomponer un problema complejo en problemas más sencillos, realizándose esta operación de forma sucesiva hasta llegar al nivel mínimo de abstracción en el cual se pueden codificar las operaciones en un lenguaje de programación.

Cada nivel de abstracción define de forma más concreta el problema y subdivide las operaciones en otras menos abstractas.

Con esta técnica se crean distintos niveles de refinamiento que se representan de la siguiente forma:

El Nivel 0 es el más abstracto, es la descripción funcional del problema.

El último nivel es el que permite la codificación en un lenguaje de programación concreto.

Ejemplo: Algoritmo que tiene como objetivo calcular la media de las notas de una clase

Page 2: 1.-PROGRAMACIÓN ESTRUCTURADA

Fundamentos de programación | 0BPROGRAMACIÓN ESTRUCTURADA 2

RECURSOS ABSTRACTOS

El concepto de recurso abstracto es fundamental en la evolución de los lenguajes de programación. Este concepto hace referencia a la visión que se tiene de cada refinamiento en el diseño Top-Down ya que en cada paso se consideran tan sólo aquellos datos importantes para el nivel en el que estamos, obviando el resto -que se resolverán en los siguientes refinamientos-.

TEOREMA DE LA PROGRAMACIÓN ESTRUCTURADA

Un programa que utiliza la técnica de programación estructurada debe ser escrito utilizando sólo tres tipos de estructuras de control: secuenciales, selectivas y repetitivas.

• Secuencia: Indica que las instrucciones se ejecutan una después de la otra, en el mismo orden en el cual aparecen en el programa. Se representa gráficamente como una caja después de otra, ambas con una sola entrada y una única salida.

• Selección: Plantea la selección entre dos alternativas con base en el

resultado de la evaluación de una condición o predicado; equivale a la instrucción IF de todos los lenguajes de programación y se representa gráficamente de la siguiente manera :

En las estructuras de selección siempre se examina una condición y en función de su evaluación la secuencia de ejecución continúa por una rama y otra, es decir, se ejecuta el bloque A si la condición C es verdadera y el bloque B si es falsa.

• Iteración: Representa la ejecución repetida de una instrucción mientras que se cumple una determinada condición. El diagrama de flujo para esta estructura es el siguiente:

Page 3: 1.-PROGRAMACIÓN ESTRUCTURADA

Fundamentos de programación | 0BPROGRAMACIÓN ESTRUCTURADA 3

Aquí el bloque A se ejecuta repetidamente mientras que la condición C se cumpla o sea cierta. También tiene una sola entrada y una sola salida; igualmente A puede ser cualquier estructura básica o conjunto de estructuras.

ETIQUETAS E INSTRUCCIÓN GO-TO

Ocasionalmente se habla de la programación estructurada como una técnica de programación que no utiliza go-to (instrucción de desvío del flujo de control en forma incondicional).

Algunas veces puede estar justificado el uso de go-to, pero esto ocurre en muy raras situaciones y siempre puede ser sustituido por otras sentencias.

VENTAJAS DE LA PROGRAMACIÓN ESTRUCTURADA

Con la programación estructurada obtenemos las siguientes ventajas:

• Un programa estructurado no solamente tendrá una estructura, sino también una excelente presentación.

• Un programa estructurado tiende a ser mucho más fácil de comprender que programas escritos en otros estilos.

• La facilidad de comprensión del contenido de un programa puede facilitar el chequeo de la codificación y reducir el tiempo de prueba y depuración de programas.

• Un programa que es fácil para leer y el cual está compuesto de segmentos bien definidos tiende a ser simple, rápido y menos expuesto a mantenimiento.

PROGRAMACION MODULAR

En la programación modular el programa es dividido en módulos. Cada módulo realiza una terea específica y se codifica independientemente de los otros módulos. Cada módulo es analizado, codificado y puesto a punto por separado.

Los programas contienen un módulo denominado módulo principal, el cual supervisa todo lo que sucede, transfiriendo el control a submódulos (los que son denominados subprogramas), para que puedan realizar sus funciones. Sin embargo, cada submódulo devolverá el control al módulo principal una vez completada su tarea. Si las tareas asignadas a cada submódulo son demasiado complejas, se procederá a una nueva subdivisión en otros módulos más pequeños.

Page 4: 1.-PROGRAMACIÓN ESTRUCTURADA

Fundamentos de programación | 0BPROGRAMACIÓN ESTRUCTURADA 4

En cuanto a la seguridad podemos decir que los módulos son independientes, de

modo que ningún módulo puede tener acceso directo a cualquier otro módulo, excepto el módulo al que llama y sus submódulos correspondientes. Sin embargo, los resultados producidos por un módulo pueden ser utilizados por otro módulo cuando se transfiera a ellos el control.

Dada la ventaja de ser independientes el programa puede ser trabajado por diferentes programadores a la vez. Con esto se ahorra tiempo en el diseño del algoritmo y en su posterior codificación. También un módulo puede ser codificado sin afectar a los demás, incluso sin alterar su función principal.

Los módulos toman diferentes nombres, según el lenguaje de programación en el cual estén expresados:

• Subrutinas en BASIC, • Procedimientos en Pascal, subrutinas en FORTRAN, • Secciones en COBOL y • Funciones en general en todos los lenguajes.