SlideShare una empresa de Scribd logo
1 de 6
3.8. PROGRAMACIÓN ESTRUCTURADA
La programación estructurada es una teoría de programación que consiste en construir programas de fácil comprensión,
es especialmente útil, cuando se necesitan realizar correcciones o modificaciones después de haber concluido un
programa o aplicación. Al utilizar la programación estructurada, es mucho más sencillo entender la codificación del
programa, que se habrá hecho en diferentes secciones.
Se basa en una metodología de desarrollo de programas llamada refinamiento sucesivos: 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 grupo de programadores. Si se ha utilizado
adecuadamente la programación estructurada, esta integración debe ser sencilla y no presentar problemas al integrar la
misma, y de presentar algún problema, será rápidamente detectable para su corrección.
La representación grafica de la programación estructurada se realiza a través de diagramas de flujo, el cual representa el
programa con sus entradas, procesos y salidas.
La programación estructurada propone segregar los procesos en estructuras lo más simple posibles, las cuales se
conocen como secuencia, selección e interacción, que están disponibles en todos los lenguajes modernos de
programación imperativa en forma de sentencias, combinando esquemas sencillos se pueden llegar a construir sistemas
amplios y complejos pero de fácil entendimiento.
La programación estructurada es un método disciplinado de escribir programas que sean claros, que se demuestre que
sean correctos y fáciles de modificar.
La programación estructurada consiste en dividir los programas en módulos y se basa en el desarrollo de programas que
van de lo general a lo particular, es decir, del conjunto al elemento, es decier de un todo a lo específico.
Para la solución de un problema en particular, se inicia considerando las funciones que tiene que cumplir el programa en
general y después se va desmembrando estas funciones en subfunciones más pequeñas hasta llegar al caso último o
más particular y que ya no se pueda subdividir en casos más pequeños. Una vez que ya se tiene el programa
desmembrado en de lo general a lo particular, se empieza a programar estas funciones pequeñas, particulares o
módulos, de esta manera, siempre podremos construir nuevos módulos o unidades insertando el nombre del módulo
donde corresponda y desarrollándolo a parte.
la modificación de los módulos es más fácil y se pueden referenciar cuantas veces se requiera, con lo que se ahorra
tiempo en la programación, un programa tiene un diseño estructurado si cumple las dos siguientes condiciones:
El teorema de Estructura.
Está debidamente documentado
El teorema de Estructura dice que “un programa cumple el teorema de estructura si y sólo (ó) si es propio y contiene
únicamente las tres estructuras básicas de control” que son la secuencial, la alternativa y la repetitiva, un programa es
propio si y sólo si cumple: que tenga un solo punto de entrada y un solo punto de salida y que entre dos puntos de control
del programa exista al menos un camino.
La programación estructurada es un estilo con el cual él se busca que el programador elabore programas sencillos y
fáciles de entender, la programación estructurada hace uso de tres estructuras básicas de control que son: Estructura
Secuencial, Estructura Selectiva y la Estructura Repetitiva (ó Iterativa)
La programación estructurada se basa un teorema fundamental, el cual afirma que cualquier programa, no importa el tipo
de trabajo que ejecute, puede ser elaborado utilizando únicamente las tres estructuras básicas.
DEFINICIÓN DE LAS 3 ESTRUCTURAS BÁSICAS
1. Estructura Secuencial: Indica que
las instrucciones de un programa 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
2. Estructura Selectiva: También
conocida como la estructura si
verdadero - falso, plantea la selección
entre dos alternativas con base en el
resultado de la evaluación de una
condición; equivale a la instrucción IF de
todos los lenguajes de programación y
3. Estructura Repetitiva (Iterativa):
También llamada la estructura
hacer – mientras - que,
corresponde a la ejecución
repetida de una instrucción
mientras que se cumple una
determinada condición. El
una única salida.
Las cajas A y B pueden ser definidas
para ejecutar desde una simple
instrucción hasta un módulo o
programa completo, siempre y cuando
éstos también sean programas
apropiados.
se representa gráficamente de la
siguiente manera:
En el diagrama de flujo anterior, C es
una condición que se evalúa; A es la
acción que se ejecuta cuando la
evaluación de esta condición resulta
verdadera y B es la acción ejecutada
cuando el resultado de la evaluación
indica falso. La estructura también tiene
una sola entrada y una sola salida; y las
funciones A y B también pueden ser
cualquier estructura básica o conjunto
de estructuras.
diagrama de flujo para esta
estructura es el siguiente:
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.
VENTAJAS DE LA PROGRAMACIÓN ESTRUCTURADA
Con la programación estructurada, elaborar programas de computadora sigue siendo una labor que demanda esfuerzo,
creatividad, habilidad y cuidado. Sin embargo, con este nuevo estilo podemos obtener las siguientes ventajas:
1. Los programas son más fáciles de entender, un programa estructurado puede ser leído en secuencia, de arriba hacia
abajo, sin necesidad de estar saltando de un sitio a otro en la lógica, lo cual es típico de otros estilos de programación.
2. Se logra una reducción del esfuerzo en las pruebas, el seguimiento de las fallas o depuración (debugging) se facilita
debido a la lógica más visible, de tal forma que los errores se pueden detectar y corregir más fácilmente.
3. Se crean programas más sencillos y más rápidos.
DIFERENCIAS CON LA PROGRAMACIÓN ESTRUCTURADA CON OTRO TIPO DE PROGRAMACIÓN
Aunque la programación estructurada condujo a
mejoras de la técnica de programación secuencial, los
métodos modernos de diseño de software orientado a
objetos incluyen mejoras entre las que están el uso de
los patrones de diseño, diseño por contrato, y
lenguajes de modelado, Las principales diferencias
entre la programación estructurada y la orientada a
objetos son:
La programación orientada a objetos es más
moderna, es una evolución de la programación
estructurada que plasma en el diseño de una
familia de lenguajes conceptos que existían
previamente con algunos nuevos.
La programación orientada a objetos se basa en
lenguajes que soportan sintáctica y
semánticamente la unión entre los tipos
abstractos de datos y sus operaciones.
La programación orientada a objetos incorpora
en su entorno de ejecución mecanismos tales
como el polimorfismo y el envío de mensajes
entre objetos.
Erróneamente se le adjudica a la programación
estructurada clásica ciertos problemas como si fueran
inherentes a la misma, esos problemas fueron
haciéndose cada vez más graves y antes de la
programación orientada a objetos diversos autores
encontraron soluciones basadas en aplicar estrictas
metodologías de trabajo. De esa época son los
conceptos de cohesión y acoplamiento, de esos
problemas se destacan los siguientes:
Modelo mental anómalo. Nuestra imagen del mundo se apoya en los seres, a los que asignamos nombres sustantivos,
mientras la programación clásica se basa en el comportamiento, representado usualmente por verbos.
Es difícil modificar y extender los programas, pues suele haber datos compartidos por varios subprogramas, que
introducen interacciones ocultas entre ellos.
Es difícil mantener los programas. Casi todos los sistemas informáticos grandes tienen errores ocultos, que no
surgen a la luz hasta después de muchas horas de funcionamiento.
Es difícil reutilizar los programas. Es prácticamente imposible aprovechar en una aplicación nueva las subrutinas
que se diseñaron para otra.
Es compleja la coordinación y organización entre programadores para la creación de aplicaciones de media y gran
envergadura.
En la programación orientada a objetos pura no deben utilizarse llamadas de subrutinas, únicamente mensajes, por ello,
a veces recibe el nombre de programación sin call, igual que la programación estructurada se llama también
programación sin goto, sin embargo, no todos los lenguajes orientados a objetos prohíben la instrucción call, permitiendo
realizar programación híbrida, imperativa y orientada a objetos a la vez.

Más contenido relacionado

La actualidad más candente

Técnicas de programación estructurada
Técnicas de programación estructuradaTécnicas de programación estructurada
Técnicas de programación estructuradaGabriel Mondragón
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructuradaJennifer Montano
 
Alirio teran _ Primer trabajo Programacion 2
Alirio teran _ Primer trabajo Programacion 2Alirio teran _ Primer trabajo Programacion 2
Alirio teran _ Primer trabajo Programacion 2Javier Eulacio
 
Programación Modular y Estructyrada
Programación Modular y EstructyradaProgramación Modular y Estructyrada
Programación Modular y Estructyradaguestefc95b
 
2. codificar la solución del problema en un lenguaje de programación estructu...
2. codificar la solución del problema en un lenguaje de programación estructu...2. codificar la solución del problema en un lenguaje de programación estructu...
2. codificar la solución del problema en un lenguaje de programación estructu...carolina peña
 
3ra evaluacion, presentacion
3ra evaluacion, presentacion3ra evaluacion, presentacion
3ra evaluacion, presentacionfabiana733179
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructuradaJesús Navarro
 
Programacion estructurada
Programacion estructuradaProgramacion estructurada
Programacion estructuradakcarbache
 
programacion estructurada
programacion estructuradaprogramacion estructurada
programacion estructuradaAny Saula
 

La actualidad más candente (20)

Programacion estructurada
Programacion estructuradaProgramacion estructurada
Programacion estructurada
 
Programacion estructurada
Programacion estructuradaProgramacion estructurada
Programacion estructurada
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructurada
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructurada
 
Programacion estructurada
Programacion estructuradaProgramacion estructurada
Programacion estructurada
 
Técnicas de programación estructurada
Técnicas de programación estructuradaTécnicas de programación estructurada
Técnicas de programación estructurada
 
Programacion estructurada
Programacion estructuradaProgramacion estructurada
Programacion estructurada
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructurada
 
Alirio teran _ Primer trabajo Programacion 2
Alirio teran _ Primer trabajo Programacion 2Alirio teran _ Primer trabajo Programacion 2
Alirio teran _ Primer trabajo Programacion 2
 
Programación Modular y Estructyrada
Programación Modular y EstructyradaProgramación Modular y Estructyrada
Programación Modular y Estructyrada
 
Programacion MODULAR
Programacion MODULARProgramacion MODULAR
Programacion MODULAR
 
2. codificar la solución del problema en un lenguaje de programación estructu...
2. codificar la solución del problema en un lenguaje de programación estructu...2. codificar la solución del problema en un lenguaje de programación estructu...
2. codificar la solución del problema en un lenguaje de programación estructu...
 
3ra evaluacion, presentacion
3ra evaluacion, presentacion3ra evaluacion, presentacion
3ra evaluacion, presentacion
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructurada
 
Concepto
ConceptoConcepto
Concepto
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructurada
 
Segunda unidad;3
Segunda unidad;3Segunda unidad;3
Segunda unidad;3
 
Programacion estructurada
Programacion estructuradaProgramacion estructurada
Programacion estructurada
 
Programación modular
Programación modularProgramación modular
Programación modular
 
programacion estructurada
programacion estructuradaprogramacion estructurada
programacion estructurada
 

Destacado

Projeto de lei 3099 260412 carreiras
Projeto de lei 3099 260412 carreirasProjeto de lei 3099 260412 carreiras
Projeto de lei 3099 260412 carreirasadunimontes
 
Eindrapportage Schoolteams_jan2014 met cover
Eindrapportage Schoolteams_jan2014 met coverEindrapportage Schoolteams_jan2014 met cover
Eindrapportage Schoolteams_jan2014 met coverLoes Schalken
 
Indenty White Paper 2010 Onderzoek Mkb
Indenty White Paper 2010 Onderzoek MkbIndenty White Paper 2010 Onderzoek Mkb
Indenty White Paper 2010 Onderzoek MkbMarketingfacts
 
24) The Hollywood Art Salutes Ronald Wilson Reagan
24) The Hollywood Art   Salutes Ronald Wilson Reagan24) The Hollywood Art   Salutes Ronald Wilson Reagan
24) The Hollywood Art Salutes Ronald Wilson ReaganNick Zegarac
 
How to run a community collection online
How to run a community collection onlineHow to run a community collection online
How to run a community collection onlineAteneu Barcelonès
 
Primeras planas lunes 09 de marzo de 2015
Primeras planas   lunes 09 de marzo de 2015Primeras planas   lunes 09 de marzo de 2015
Primeras planas lunes 09 de marzo de 2015Diario de Un Politologo
 
Manual usuario profesor
Manual usuario profesorManual usuario profesor
Manual usuario profesorJavier
 
Act. 1 uni. 2 gestion
Act. 1 uni. 2 gestionAct. 1 uni. 2 gestion
Act. 1 uni. 2 gestionhaydee2345
 
Speed in digital marketing en
Speed in digital marketing enSpeed in digital marketing en
Speed in digital marketing enThom. Poole
 
calidad y evaluacion de contenidos electronicos
calidad y evaluacion de contenidos electronicoscalidad y evaluacion de contenidos electronicos
calidad y evaluacion de contenidos electronicoscapasmurfit
 
Long and Winding Road - Gamesmanship of Shopping Study
Long and Winding Road - Gamesmanship of Shopping StudyLong and Winding Road - Gamesmanship of Shopping Study
Long and Winding Road - Gamesmanship of Shopping StudyAshmeed Ali
 
Omdannelse og uddannelse - Gitte Miller Balslev afhandling 2012
Omdannelse og uddannelse  - Gitte Miller Balslev afhandling 2012Omdannelse og uddannelse  - Gitte Miller Balslev afhandling 2012
Omdannelse og uddannelse - Gitte Miller Balslev afhandling 2012Tyge Mortensen
 
Las redes sociales y el mercado digital
Las redes sociales y el mercado digitalLas redes sociales y el mercado digital
Las redes sociales y el mercado digitalMagali Hernandez
 
Calidad y evaluación de los contenidos electrónicos
Calidad y evaluación de los contenidos electrónicosCalidad y evaluación de los contenidos electrónicos
Calidad y evaluación de los contenidos electrónicoscinthya934
 

Destacado (20)

Chapter 9 macro
Chapter 9 macroChapter 9 macro
Chapter 9 macro
 
Proyecto .. (1)
Proyecto .. (1)Proyecto .. (1)
Proyecto .. (1)
 
Projeto de lei 3099 260412 carreiras
Projeto de lei 3099 260412 carreirasProjeto de lei 3099 260412 carreiras
Projeto de lei 3099 260412 carreiras
 
Eindrapportage Schoolteams_jan2014 met cover
Eindrapportage Schoolteams_jan2014 met coverEindrapportage Schoolteams_jan2014 met cover
Eindrapportage Schoolteams_jan2014 met cover
 
La moneda
La moneda La moneda
La moneda
 
Indenty White Paper 2010 Onderzoek Mkb
Indenty White Paper 2010 Onderzoek MkbIndenty White Paper 2010 Onderzoek Mkb
Indenty White Paper 2010 Onderzoek Mkb
 
24) The Hollywood Art Salutes Ronald Wilson Reagan
24) The Hollywood Art   Salutes Ronald Wilson Reagan24) The Hollywood Art   Salutes Ronald Wilson Reagan
24) The Hollywood Art Salutes Ronald Wilson Reagan
 
How to run a community collection online
How to run a community collection onlineHow to run a community collection online
How to run a community collection online
 
Primeras planas lunes 09 de marzo de 2015
Primeras planas   lunes 09 de marzo de 2015Primeras planas   lunes 09 de marzo de 2015
Primeras planas lunes 09 de marzo de 2015
 
Evaluación de un proyecto
Evaluación de un proyecto Evaluación de un proyecto
Evaluación de un proyecto
 
Manual usuario profesor
Manual usuario profesorManual usuario profesor
Manual usuario profesor
 
Act. 1 uni. 2 gestion
Act. 1 uni. 2 gestionAct. 1 uni. 2 gestion
Act. 1 uni. 2 gestion
 
Speed in digital marketing en
Speed in digital marketing enSpeed in digital marketing en
Speed in digital marketing en
 
calidad y evaluacion de contenidos electronicos
calidad y evaluacion de contenidos electronicoscalidad y evaluacion de contenidos electronicos
calidad y evaluacion de contenidos electronicos
 
Long and Winding Road - Gamesmanship of Shopping Study
Long and Winding Road - Gamesmanship of Shopping StudyLong and Winding Road - Gamesmanship of Shopping Study
Long and Winding Road - Gamesmanship of Shopping Study
 
Omdannelse og uddannelse - Gitte Miller Balslev afhandling 2012
Omdannelse og uddannelse  - Gitte Miller Balslev afhandling 2012Omdannelse og uddannelse  - Gitte Miller Balslev afhandling 2012
Omdannelse og uddannelse - Gitte Miller Balslev afhandling 2012
 
Trabajo final
Trabajo finalTrabajo final
Trabajo final
 
Las redes sociales y el mercado digital
Las redes sociales y el mercado digitalLas redes sociales y el mercado digital
Las redes sociales y el mercado digital
 
Calidad y evaluación de los contenidos electrónicos
Calidad y evaluación de los contenidos electrónicosCalidad y evaluación de los contenidos electrónicos
Calidad y evaluación de los contenidos electrónicos
 
Ah Pallas
Ah PallasAh Pallas
Ah Pallas
 

Similar a Programacion estruturada

Paradigmas de programacion
Paradigmas de programacion Paradigmas de programacion
Paradigmas de programacion Anel Sosa
 
Programacion estructurado
Programacion estructuradoProgramacion estructurado
Programacion estructuradoAgapito26
 
Programacion estructurado
Programacion estructuradoProgramacion estructurado
Programacion estructuradoAgapito26
 
MODULO II ALGORITMO Y PROGRAMACIÓN ESTRUCTURA DE PROGRAMA.pdf
MODULO II ALGORITMO Y PROGRAMACIÓN ESTRUCTURA DE PROGRAMA.pdfMODULO II ALGORITMO Y PROGRAMACIÓN ESTRUCTURA DE PROGRAMA.pdf
MODULO II ALGORITMO Y PROGRAMACIÓN ESTRUCTURA DE PROGRAMA.pdfannalybautistaruiz
 
MODULO II ALGORITMO Y PROGRAMACIÓN ESTRUCTURA DE PROGRAMA.pdf
MODULO II ALGORITMO Y PROGRAMACIÓN ESTRUCTURA DE PROGRAMA.pdfMODULO II ALGORITMO Y PROGRAMACIÓN ESTRUCTURA DE PROGRAMA.pdf
MODULO II ALGORITMO Y PROGRAMACIÓN ESTRUCTURA DE PROGRAMA.pdfannalybautistaruiz
 
Programacin estructurada
Programacin estructuradaProgramacin estructurada
Programacin estructuradaRubixita12
 
METODOLOGÍA PARA EL DISEÑO DE SOFTWARE
METODOLOGÍA PARA EL DISEÑO DE SOFTWAREMETODOLOGÍA PARA EL DISEÑO DE SOFTWARE
METODOLOGÍA PARA EL DISEÑO DE SOFTWAREadark
 
Tabla comparativa de poo y paradigma de programación estructurada
Tabla comparativa de poo y paradigma de programación estructuradaTabla comparativa de poo y paradigma de programación estructurada
Tabla comparativa de poo y paradigma de programación estructuradaAngeles Rivera
 
Apun9algol
Apun9algolApun9algol
Apun9algolpabesacv
 
Unidad 2
Unidad 2Unidad 2
Unidad 2luz0987
 
Técnicas de programación
Técnicas de programaciónTécnicas de programación
Técnicas de programaciónMaría Alvarez
 
Programacion estructurada 2
Programacion estructurada 2Programacion estructurada 2
Programacion estructurada 2elvis mendieta
 
Programacion estructurada
Programacion estructurada Programacion estructurada
Programacion estructurada elvis mendieta
 
Programacion estructurada vs. programación a objetos
Programacion estructurada vs. programación a objetosProgramacion estructurada vs. programación a objetos
Programacion estructurada vs. programación a objetoslidia gonzalez
 
Programacion estructurado presentacion
Programacion estructurado presentacionProgramacion estructurado presentacion
Programacion estructurado presentacionANGIEZAMBRANO57
 
Programacion estructurado presentacion
Programacion estructurado presentacionProgramacion estructurado presentacion
Programacion estructurado presentacionfranciscocain
 

Similar a Programacion estruturada (20)

Paradigmas de programacion
Paradigmas de programacion Paradigmas de programacion
Paradigmas de programacion
 
Programación modular
Programación modularProgramación modular
Programación modular
 
Programacion estructurado
Programacion estructuradoProgramacion estructurado
Programacion estructurado
 
Programacion estructurado
Programacion estructuradoProgramacion estructurado
Programacion estructurado
 
MODULO II ALGORITMO Y PROGRAMACIÓN ESTRUCTURA DE PROGRAMA.pdf
MODULO II ALGORITMO Y PROGRAMACIÓN ESTRUCTURA DE PROGRAMA.pdfMODULO II ALGORITMO Y PROGRAMACIÓN ESTRUCTURA DE PROGRAMA.pdf
MODULO II ALGORITMO Y PROGRAMACIÓN ESTRUCTURA DE PROGRAMA.pdf
 
MODULO II ALGORITMO Y PROGRAMACIÓN ESTRUCTURA DE PROGRAMA.pdf
MODULO II ALGORITMO Y PROGRAMACIÓN ESTRUCTURA DE PROGRAMA.pdfMODULO II ALGORITMO Y PROGRAMACIÓN ESTRUCTURA DE PROGRAMA.pdf
MODULO II ALGORITMO Y PROGRAMACIÓN ESTRUCTURA DE PROGRAMA.pdf
 
Programacin estructurada
Programacin estructuradaProgramacin estructurada
Programacin estructurada
 
METODOLOGÍA PARA EL DISEÑO DE SOFTWARE
METODOLOGÍA PARA EL DISEÑO DE SOFTWAREMETODOLOGÍA PARA EL DISEÑO DE SOFTWARE
METODOLOGÍA PARA EL DISEÑO DE SOFTWARE
 
Tabla comparativa de poo y paradigma de programación estructurada
Tabla comparativa de poo y paradigma de programación estructuradaTabla comparativa de poo y paradigma de programación estructurada
Tabla comparativa de poo y paradigma de programación estructurada
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Apun9algol
Apun9algolApun9algol
Apun9algol
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Técnicas de programación
Técnicas de programaciónTécnicas de programación
Técnicas de programación
 
Programacion estructurada 2
Programacion estructurada 2Programacion estructurada 2
Programacion estructurada 2
 
Programacion estructurada
Programacion estructurada Programacion estructurada
Programacion estructurada
 
Programacion estructurada vs. programación a objetos
Programacion estructurada vs. programación a objetosProgramacion estructurada vs. programación a objetos
Programacion estructurada vs. programación a objetos
 
Programacion estructurado presentacion
Programacion estructurado presentacionProgramacion estructurado presentacion
Programacion estructurado presentacion
 
Programacion estructurado presentacion
Programacion estructurado presentacionProgramacion estructurado presentacion
Programacion estructurado presentacion
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 

Programacion estruturada

  • 1. 3.8. PROGRAMACIÓN ESTRUCTURADA La programación estructurada es una teoría de programación que consiste en construir programas de fácil comprensión, es especialmente útil, cuando se necesitan realizar correcciones o modificaciones después de haber concluido un programa o aplicación. Al utilizar la programación estructurada, es mucho más sencillo entender la codificación del programa, que se habrá hecho en diferentes secciones. Se basa en una metodología de desarrollo de programas llamada refinamiento sucesivos: 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 grupo de programadores. Si se ha utilizado adecuadamente la programación estructurada, esta integración debe ser sencilla y no presentar problemas al integrar la misma, y de presentar algún problema, será rápidamente detectable para su corrección. La representación grafica de la programación estructurada se realiza a través de diagramas de flujo, el cual representa el programa con sus entradas, procesos y salidas. La programación estructurada propone segregar los procesos en estructuras lo más simple posibles, las cuales se conocen como secuencia, selección e interacción, que están disponibles en todos los lenguajes modernos de programación imperativa en forma de sentencias, combinando esquemas sencillos se pueden llegar a construir sistemas amplios y complejos pero de fácil entendimiento. La programación estructurada es un método disciplinado de escribir programas que sean claros, que se demuestre que sean correctos y fáciles de modificar. La programación estructurada consiste en dividir los programas en módulos y se basa en el desarrollo de programas que van de lo general a lo particular, es decir, del conjunto al elemento, es decier de un todo a lo específico. Para la solución de un problema en particular, se inicia considerando las funciones que tiene que cumplir el programa en general y después se va desmembrando estas funciones en subfunciones más pequeñas hasta llegar al caso último o más particular y que ya no se pueda subdividir en casos más pequeños. Una vez que ya se tiene el programa desmembrado en de lo general a lo particular, se empieza a programar estas funciones pequeñas, particulares o
  • 2. módulos, de esta manera, siempre podremos construir nuevos módulos o unidades insertando el nombre del módulo donde corresponda y desarrollándolo a parte. la modificación de los módulos es más fácil y se pueden referenciar cuantas veces se requiera, con lo que se ahorra tiempo en la programación, un programa tiene un diseño estructurado si cumple las dos siguientes condiciones: El teorema de Estructura. Está debidamente documentado El teorema de Estructura dice que “un programa cumple el teorema de estructura si y sólo (ó) si es propio y contiene únicamente las tres estructuras básicas de control” que son la secuencial, la alternativa y la repetitiva, un programa es propio si y sólo si cumple: que tenga un solo punto de entrada y un solo punto de salida y que entre dos puntos de control del programa exista al menos un camino. La programación estructurada es un estilo con el cual él se busca que el programador elabore programas sencillos y fáciles de entender, la programación estructurada hace uso de tres estructuras básicas de control que son: Estructura Secuencial, Estructura Selectiva y la Estructura Repetitiva (ó Iterativa) La programación estructurada se basa un teorema fundamental, el cual afirma que cualquier programa, no importa el tipo de trabajo que ejecute, puede ser elaborado utilizando únicamente las tres estructuras básicas. DEFINICIÓN DE LAS 3 ESTRUCTURAS BÁSICAS 1. Estructura Secuencial: Indica que las instrucciones de un programa 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 2. Estructura Selectiva: También conocida como la estructura si verdadero - falso, plantea la selección entre dos alternativas con base en el resultado de la evaluación de una condición; equivale a la instrucción IF de todos los lenguajes de programación y 3. Estructura Repetitiva (Iterativa): También llamada la estructura hacer – mientras - que, corresponde a la ejecución repetida de una instrucción mientras que se cumple una determinada condición. El
  • 3. una única salida. Las cajas A y B pueden ser definidas para ejecutar desde una simple instrucción hasta un módulo o programa completo, siempre y cuando éstos también sean programas apropiados. se representa gráficamente de la siguiente manera: En el diagrama de flujo anterior, C es una condición que se evalúa; A es la acción que se ejecuta cuando la evaluación de esta condición resulta verdadera y B es la acción ejecutada cuando el resultado de la evaluación indica falso. La estructura también tiene una sola entrada y una sola salida; y las funciones A y B también pueden ser cualquier estructura básica o conjunto de estructuras. diagrama de flujo para esta estructura es el siguiente: 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.
  • 4. VENTAJAS DE LA PROGRAMACIÓN ESTRUCTURADA Con la programación estructurada, elaborar programas de computadora sigue siendo una labor que demanda esfuerzo, creatividad, habilidad y cuidado. Sin embargo, con este nuevo estilo podemos obtener las siguientes ventajas: 1. Los programas son más fáciles de entender, un programa estructurado puede ser leído en secuencia, de arriba hacia abajo, sin necesidad de estar saltando de un sitio a otro en la lógica, lo cual es típico de otros estilos de programación. 2. Se logra una reducción del esfuerzo en las pruebas, el seguimiento de las fallas o depuración (debugging) se facilita debido a la lógica más visible, de tal forma que los errores se pueden detectar y corregir más fácilmente. 3. Se crean programas más sencillos y más rápidos. DIFERENCIAS CON LA PROGRAMACIÓN ESTRUCTURADA CON OTRO TIPO DE PROGRAMACIÓN
  • 5. Aunque la programación estructurada condujo a mejoras de la técnica de programación secuencial, los métodos modernos de diseño de software orientado a objetos incluyen mejoras entre las que están el uso de los patrones de diseño, diseño por contrato, y lenguajes de modelado, Las principales diferencias entre la programación estructurada y la orientada a objetos son: La programación orientada a objetos es más moderna, es una evolución de la programación estructurada que plasma en el diseño de una familia de lenguajes conceptos que existían previamente con algunos nuevos. La programación orientada a objetos se basa en lenguajes que soportan sintáctica y semánticamente la unión entre los tipos abstractos de datos y sus operaciones. La programación orientada a objetos incorpora en su entorno de ejecución mecanismos tales como el polimorfismo y el envío de mensajes entre objetos. Erróneamente se le adjudica a la programación estructurada clásica ciertos problemas como si fueran inherentes a la misma, esos problemas fueron haciéndose cada vez más graves y antes de la programación orientada a objetos diversos autores encontraron soluciones basadas en aplicar estrictas metodologías de trabajo. De esa época son los conceptos de cohesión y acoplamiento, de esos
  • 6. problemas se destacan los siguientes: Modelo mental anómalo. Nuestra imagen del mundo se apoya en los seres, a los que asignamos nombres sustantivos, mientras la programación clásica se basa en el comportamiento, representado usualmente por verbos. Es difícil modificar y extender los programas, pues suele haber datos compartidos por varios subprogramas, que introducen interacciones ocultas entre ellos. Es difícil mantener los programas. Casi todos los sistemas informáticos grandes tienen errores ocultos, que no surgen a la luz hasta después de muchas horas de funcionamiento. Es difícil reutilizar los programas. Es prácticamente imposible aprovechar en una aplicación nueva las subrutinas que se diseñaron para otra. Es compleja la coordinación y organización entre programadores para la creación de aplicaciones de media y gran envergadura. En la programación orientada a objetos pura no deben utilizarse llamadas de subrutinas, únicamente mensajes, por ello, a veces recibe el nombre de programación sin call, igual que la programación estructurada se llama también programación sin goto, sin embargo, no todos los lenguajes orientados a objetos prohíben la instrucción call, permitiendo realizar programación híbrida, imperativa y orientada a objetos a la vez.