Está en la página 1de 5

PROGRAMACIÓN ESTRUCTURADA (PE)

La programación estructurada o PE es una teoría de programación que consiste en construir


programas de fácil comprensión, es útil cuando se necesitan realizar correcciones o modificaciones
después de haber concluido un programa o aplicación. Al haberse utilizado la PE, es mucho más
sencillo entender la codificación del programa, que se habrá hecho en diferentes secciones.

La PE se basa en una metodología de desarrollo de programas llamada refinamiento sucesivo


donde se plantea una operación como un todo y se divide en segmentos más sencillos o de menor
complejidad. Una vez terminado todos los segmentos del programa, se procede a unificar las
aplicaciones realizadas por el Pool de programadores. Si se ha utilizado adecuadamente la PE, la
integración debe ser sencilla y no presentar problemas, y de presentar algún problema, será
rápidamente detectable para su corrección.

La PE propone dispersar los procesos en estructuras lo más simple posibles, las cuales se conocen
como secuencia, selección e interacción. Ellas están disponibles en todos los lenguajes de
programación en forma de sentencias. Combinando esquemas sencillos se crean sistemas amplios
y complejos de fácil entendimiento.

La representación gráfica de la PE se realiza a través de diagramas de flujo o flow chart, el cual


representa el programa con sus entradas, procesos y salidas. El diagrama de flujo es una imagen
bastante sencilla. Mediante la utilización de una caja se indica un paso del proceso. Un rombo
representa una condición lógica y las flechas indican el flujo de control.

La regla general es que las instrucciones se ejecuten sucesivamente una tras otra, pero diversas
partes del programa se ejecutan o no dependiendo de que se cumpla alguna condición. Además,
hay instrucciones (los bucles) que deben ejecutarse varias veces, ya sea en número fijo o hasta que
se cumpla una condición determinada.
El resultado de aplicar la sistemática y disciplinada manera de elaboración de programas
establecida por la PE es una programación de alta precisión. Las pruebas de los programas,
desarrollados utilizando este método, se acoplan más rápidamente y el resultado final con
programas que pueden ser leídos, mantenidos y modificados por otros programadores con mucha
mayor facilidad.

Esta técnica incorpora:

 Diseño descendente (top-dow): el problema se descompone en etapas o estructuras


jerárquicas.
 Recursos abstractos (simplicidad): consiste en descompones las acciones complejas en
otras más simples capaces de ser resueltas con mayor facilidad.
 Estructuras básicas: esta forma de programar se basa en un famoso teorema, desarrollado
por Edsger Dijkstra, que demuestra que todo programa puede escribirse utilizando
únicamente las tres estructuras básicas de control:
1. Estructuras secuénciales: cada acción sigue a otra acción secuencialmente. La salida
de una acción es la entrada de otra, el bloque secuencial de instrucciones ejecutadas
sucesivamente, una detrás de otra.
2. Estructuras selectivas: se evalúan las condiciones y en función del resultado de las
mismas se realizan unas acciones u otras. Se utilizan expresiones lógicas, como la
instrucción condicional con doble alternativa, de la forma "if condición then
instrucción-1 else instrucción-2".
3. Estructuras repetitivas: son secuencias de instrucciones que se repiten un número
determinado de veces, el bucle condicional "while condición do instrucción", que
ejecuta la instrucción repetidamente mientras la condición se cumpla.

Un programa estructurado está compuesto de segmentos, los cuales puedan estar constituidos
por unas pocas instrucciones o por una página o más de codificación. Cada segmento tiene
solamente una entrada y una salida, estos segmentos, asumiendo que no poseen lazos infinitos y
no tienen instrucciones que jamás se ejecuten, se denominan programas propios. Cuando varios
programas propios se combinan utilizando las tres estructuras básicas de control, el resultado es
también un programa propio.

La PE está basada en el Teorema de la Estructura*, el cual establece que cualquier programa


propio (un programa con una entrada y una salida exclusivamente) es equivalente a un programa
que contiene solamente las estructuras lógicas.

Una característica importante en un programa estructurado es que puede ser leído en secuencia,
desde el comienzo hasta el final sin perder la continuidad de la tarea que cumple el programa, lo
contrario de lo que ocurre con otros estilos de programación. Esto es importante debido a que, es
mucho más fácil comprender completamente el trabajo que realiza una función determinada, si
todas las instrucciones que influyen en su acción están físicamente cerca y encerradas por un
bloque. La facilidad de lectura, de comienzo a fin, es una consecuencia de utilizar solamente tres
estructuras de control y de eliminar la instrucción de desvío de flujo de control, excepto en
circunstancias muy especiales tales como la simulación de una estructura lógica de control en un
lenguaje de programación que no la posea.

La PE está compuesta por un conjunto de técnicas que han ido aumentando considerablemente la
productividad del programa reduciendo el tiempo de depuración y mantenimiento del mismo.
Esta utiliza un número limitado de estructuras de control, reduciendo así considerablemente los
errores.

Las principales ventajas de la programación estructurada son:

 Los programas son más fáciles de entender


 Se reduce la complejidad de las pruebas
 Aumenta la productividad del programador
 Los programas queden mejor documentados internamente.

En conclusión, un programa está estructurado si posee un único punto de entrada y sólo uno de
salida, existen de "1 a n" caminos desde el principio hasta el fin del programa y por último, que
todas las instrucciones son ejecutables sin que aparezcan bucles infinitos.

ALVAREZ, Sara

Tipos de programación

http://www.desarrolloweb.com/articulos/2477.php, 18/05/2006

Observaciones: Un programa está estructurado si posee un único punto de entrada y sólo uno de
salida, existen de "1 a n" caminos desde el principio hasta el fin del programa.

LENGUAJES DE PROGRAMACIÓN
Programación Estructurada

http://www.lenguajes-de-programacion.com/programacion-estructurada.shtml, -/-/2016

Observaciones: La programación estructurada es una teoría de programación que consiste en


construir programas de fácil comprensión.

PINTO, Laura

Diseño a nivel de componentes

http://it.10-multa.com/pravo/13799/index.html, 31/12/2015

Observaciones: La regla general es que las instrucciones se ejecuten sucesivamente una tras otra,
pero diversas partes del programa se ejecutan o no dependiendo de que se cumpla alguna
condición.

PROGRAMACIÓN ORIENTADA A OBJETOS (POO)

La programación orientada a objetos o POO, intenta simular el mundo real a través del significado
de objetos que contiene características y funciones. Los lenguajes orientados a objetos se
clasifican como lenguajes de quinta generación, la POO se basa en la idea de un objeto, que es una
combinación de variables locales y procedimientos llamados métodos que juntos conforman una
entidad de programación. Esta es una técnica que aumenta considerablemente la velocidad de
desarrollo de los programas gracias a la reutilización de los objetos.

El elemento principal de la programación orientada a objetos es el objeto. El objeto es un conjunto


complejo de datos y programas que poseen estructura y forman parte de una organización. Un
objeto contiene varios datos bien estructurados y pueden ser visibles o no dependiendo del
programador y las acciones del programa en ese momento. El polimorfismo y la herencia son unas
de sus principales características.

El termino encapsulación se usa para describir la combinación de estructuras de datos y de


métodos que son manipulados por el objeto. La llamada a un objeto es lo que se denomina pasar
un "aviso" a un objeto.

Encapsular: reunir y controlar el grupo resultante como un todo y no individualmente, la


abstracción es un término externo al objeto, que controla la forma en que es visto por los demás.

Modularidad: se considera de la siguiente manera: un programa grande siempre será más


complicado que la suma de varios programas pequeños, con lo que se considera ventajoso dividir
un gran sistema en diversos módulos.

Jerarquía: la cual consiste en la clasificación y organización de las abstracciones según su


naturaleza. El más claro ejemplo de jerarquía es la herencia.
Herencia: como una jerarquía de extracciones, y la relación entre clases, donde se comparte la
estructura y el comportamiento de una o más clases considerada como clases superiores o una
superclase, con lo cual se resume que la herencia es una unidad independiente por si misma
heredada de una abstracción o superclase.

Un ejemplo cotidiano lo encontramos en las aplicaciones que existen actualmente en el mercado,


donde un formulario cualquiera hereda las características de una ventana del sistema operativo
Windows (Maximizar, Minimizar, Cerrar).

PROGRAMACIÓN MODULAR

En la programación modular consta de varias secciones dividas de forma que interactúan a través
de llamadas a procedimientos, que integran el programa en su totalidad. En la programación
modular, el programa principal coordina las llamadas a los módulos secundarios y pasa los datos
necesarios en forma de parámetros. A su vez cada módulo puede contener sus propios datos y
llamar a otros módulos o funciones.

PROGRAMACIÓN CONCURRENTE

Este tipo de programación se utiliza cuando tenemos que realizar varias acciones a la vez. Se suele
utilizar para controlar los accesos de usuarios y programas a un recurso de forma simultanea. Se
trata de una programación más lenta y laboriosa, obteniendo unos resultados lentos en las
acciones.

PROGRAMACIÓN FUNCIONAL

Se caracteriza principalmente por permitir declarar y llamar a funciones dentro de otras funciones.

PROGRAMACIÓN LÓGICA

Se suele utilizar en la inteligencia artificial y pequeños programas infantiles. Se trata de una


programación basada en el cálculo de predicados (una teoría matemática que permite lograr que
un ordenador basándose en hecho y reglas lógicas, pueda dar soluciones inteligentes).

También podría gustarte