SlideShare una empresa de Scribd logo
1 de 12
Es un paradigma de programación orientado a mejorar la claridad,
calidad y tiempo de desarrollo de un programa de computadora,
utilizando únicamentesubrutinas y tres estructuras: secuencia,
selección (if y switch) e iteración (bucles for y while), considerando
innecesario y contraproducente el uso de la instrucción
de transferencia incondicional (GOTO), que podría conducir a "código
espagueti", que es mucho más difícil de seguir y de mantener, y era la
causa de muchos errores de programación.
Surgió en la década de 1960, particularmente del trabajo Böhm y
Jacopini, y una famosa carta, la sentencia goto considerada
perjudicial, de Edsger Dijkstra en 19682 — y fue reforzado teóricamente
por el teorema del programa estructurado, y prácticamente por la
aparición de lenguajes como ALGOL con adecuadas y ricas estructuras de
control.
FUNDAMENTACIÓN TEÓRICA
El teorema del programa estructurado proporciona la base teórica de la
programación estructurada. Señala que tres maneras de combinar
programas son suficientes para expresar cualquierfunción computable:
secuencia, selección e iteración. Esta observación no se originó con
el movimiento de la programación estructurada. Estas estructuras son
suficientes para describir el ciclo de instrucción de una unidad
central de procesamiento, así como el funcionamiento de una máquina de
Turing. Por lo tanto un procesador siempre está ejecutando un
"programa estructurado" en este sentido, incluso si las instrucciones
que lee de la memoria no son parte de un programa estructurado. Sin
embargo, los autores usualmente acreditan el resultado a un documento
escrito en 1966 por Böhm y Jacopini, posiblemente
porque Dijkstra había citado este escrito. El teorema del programa
estructurado no responde a cómo escribir y analizar un programa
estructurado de manera útil. Estos temas fueron abordados durante la
década de 1960 y principio de los años 1970, con importantes
contribuciones de Dijkstra, Robert W. Floyd, Tony Hoarey y David
Gries.
 Los programas son más fáciles de entender, pueden ser leídos de
forma secuencial y no hay necesidad de hacer engorrosos
seguimientos en saltos de líneas (GOTO) dentro de los bloques de
código para intentar entender la lógica.
 La estructura de los programas es clara, puesto que las instrucciones
están más ligadas o relacionadas entre sí.
 Reducción del esfuerzo en las pruebas y depuración. El seguimiento
de los fallos o errores del programa ("debugging") se facilita debido a
su estructura más sencilla y comprensible, por lo que los errores se
pueden detectar y corregir más fácilmente.
 Reducción de los costos de mantenimiento. Análogamente a la
depuración, durante la fase de mantenimiento, modificar o extender
los programas resulta más fácil.
 Los programas son más sencillos y más rápidos de confeccionar.
 Se incrementa el rendimiento de los programadores, comparado con
la forma anterior que utiliza GOTO.
 El principal inconveniente de este paradigma de programación es que
se obtiene un único bloque de programa, que cuando se hace
demasiado grande puede resultar problemático su manejo; esto se
resuelve empleando la programación modular, definiendo módulos
interdependientes programados y compilados por separado.
 Un método un poco más sofisticado es la programación por capas, en
la que los módulos tienen una estructura jerárquica en la que se
pueden definir funciones dentro de funciones o de procedimientos
En un bajo nivel, los programas estructurados con frecuencia están
compuestos de simples estructuras de flujo de programa jerárquicas.
Estas son secuencia, selección y repetición:
"Secuencia" se refiere a una ejecución ordenada de instrucciones.
En "selección", una de una serie de sentencias es ejecutada dependiendo
del estado del programa. Esto es usualmente expresado con palabras clave
como if..then..else..endif, switch, o case. En algunos lenguajes las
palabras clave no se puede escribir textualmente, pero debe ser
delimitada (stropped).
En la "repetición" se ejecuta una sentencia hasta que el programa
alcance un estado determinado, o las operaciones han sido aplicadas a
cada elemento de una colección. Esto es usualmente expresado con
palabras clave como while, repeat, for o do..until. A menudo se
recomienda que cada bucle sólo debe tener un punto de entrada (y en la
programación estructural original, también sólo un punto de salida, y
pocos lenguajes refuerzan esto).
Es posible hacer la programación estructurada en cualquier lenguaje de
programación, aunque es preferible usar algo como un lenguaje de
programación procedimental. Algunos de los lenguajes utilizados
inicialmente para programación estructurada incluyen:
ALGOL
Pascal
PL/I
Ada
Pero la mayoría de los nuevos lenguajes programación procedimentales
desde entonces han incluido características para fomentar la
programación estructurada y a veces deliberadamente omiten
características en un esfuerzo para hacer más difícil la programación no
estructurada.
TEOREMA DE LA ESTRUCTURA
El teorema de la estructura 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 de 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.
Se definen de la siguiente forma:
SECUENCIA: es simplemente la formalización de la idea de que las
instrucciones de un programa son ejecutadas en el mismo orden en que ellas
aparecen en el programa. En términos de diagrama de flujo la secuencia es
representada por una función después de la otra, como se muestra a
continuación.
A y B pueden ser instrucciones sencillas hasta módulos completos, lo
importante es que sean programas propios, independientemente de su tamaño
o complejidad interna. Ay B deben ser programas propios en el sentido en
que estos fueron definidos, es decir, que posean solamente una entrada y
una salida; la combinación de A seguida por B es también un programa
propio, ya que esta unión tiene una entrada y una salida exclusivamente,
esto se muestra gráficamente en la figura siguiente:
Donde la caja externa sugiere que la combinación de A seguida de puede ser
tratada como una unidad para propósitos de control.
SELECCIÓN: Es la escogencia entre dos acciones tomando la decisión en
base al resultado de evaluar un predicado. Esta estructura de control es
denominada usualmente IFTHENELSE. La representación en forma
de diagrama de flujo de esta estructura lógica de control se muestra a
continuación:
F
Donde P es predicado y A y B son las dos funciones.
ITERACIÓN: Esta estructura lógica es utilizada para que se repita la
ejecución de un conjunto de instrucciones mientras se cumpla una
condición o predicado. Generalmente a esta estructura se le conoce como
DOWHILE (hacer mientras) y su representación se muestra a continuación:
V
F
donde P es predicado y A es el modulo controlado.
Se debe comprender claramente que un rectángulo, que representa un modulo
en un diagrama, siempre puede ser sustituido por cualquiera de las tres
estructuras de control descritas anteriormente
La segmentación reflejara la división del programa en partes que se
relacionen entre sí en forma jerárquica, formando una estructura de
árbol. Esta organización puede ser representada gráficamente por un
diagrama de procesos, lo que hace más sencillo comprender la relación
existente entre un segmento y el resto del programa. Adicionalmente,
podemos indicar que, el segmento en la cumbre de la estructura
jerárquica contendrá las funciones de control de mas alto nivel,
mientras que los segmentos inferiores en esta organización contendrán
funciones detalladas.
Una segmentación bien diseñada deberá mostrar, claramente, las
relaciones existentes entre las distintas funciones de manera que sea
fácil comprender lo que debe hacer el programa y asegurar que
efectivamente lo realice. Este hecho, garantizara que los cambios que se
efectúen a una parte del programa, durante la programación original o su
mantenimiento, no afecten al resto del programa que no ha sufrido
cambios.
En una segmentación bien realizada la comunicación entre segmentos se
lleva a cabo de una manera cuidadosamente controlada. Algunos autores
recomiendan que los segmentos consistan en procedimientos y la única
comunicación existente entre ellos sea a través de una lista de
parámetros, esto reduce la oportunidad de que interactuen entre ellos de
una manera indeseada e inentendible.
Programacion estructurada

Más contenido relacionado

La actualidad más candente

Lenguajes de programacion (exposicion)
Lenguajes de programacion (exposicion)Lenguajes de programacion (exposicion)
Lenguajes de programacion (exposicion)YJGG
 
1 introduccion a la programacion 1
1 introduccion  a la programacion 11 introduccion  a la programacion 1
1 introduccion a la programacion 1Evelin Claudia
 
Lenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesLenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesIsrael Castillo Cruz
 
Generaciones de los lenguajes de programacion pptx
Generaciones de los lenguajes de programacion pptxGeneraciones de los lenguajes de programacion pptx
Generaciones de los lenguajes de programacion pptxyenicamejo
 
Presentacion Programacion
Presentacion ProgramacionPresentacion Programacion
Presentacion Programacionguestd5974a6
 
Topicos Avanzados de Programacion - Unidad 3 componentes y librerias
Topicos Avanzados de Programacion - Unidad 3 componentes y libreriasTopicos Avanzados de Programacion - Unidad 3 componentes y librerias
Topicos Avanzados de Programacion - Unidad 3 componentes y libreriasJosé Antonio Sandoval Acosta
 
Introduccion a la programacion
Introduccion a la programacionIntroduccion a la programacion
Introduccion a la programacionJose Marroquin
 
Metodologías para el desarrollo de aplicaciones móviles
Metodologías para el desarrollo de aplicaciones móvilesMetodologías para el desarrollo de aplicaciones móviles
Metodologías para el desarrollo de aplicaciones móvilesJaqueline Luna
 
Cuadro comparativo de herramientas de programacion eclipse, java
Cuadro comparativo de herramientas de programacion eclipse, javaCuadro comparativo de herramientas de programacion eclipse, java
Cuadro comparativo de herramientas de programacion eclipse, javaCCCRiis
 
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y libreriasTópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y libreriasJosé Antonio Sandoval Acosta
 
Tabla comparativa programación estructurada y orientada a objetos
Tabla comparativa programación estructurada y orientada a objetosTabla comparativa programación estructurada y orientada a objetos
Tabla comparativa programación estructurada y orientada a objetosFrancisco Javier Canizales Vazquez
 
PARADIGMA IMPERATIVO
PARADIGMA IMPERATIVOPARADIGMA IMPERATIVO
PARADIGMA IMPERATIVOFredy Olaya
 
Java ME (Micro Edition)
Java ME (Micro Edition) Java ME (Micro Edition)
Java ME (Micro Edition) Anderson Rubio
 
Paradigmas de programacion
Paradigmas de programacionParadigmas de programacion
Paradigmas de programacionyamy matin
 
Programacion Orientada a Eventos
Programacion Orientada a EventosProgramacion Orientada a Eventos
Programacion Orientada a EventosLaura
 

La actualidad más candente (20)

Lenguajes de programacion (exposicion)
Lenguajes de programacion (exposicion)Lenguajes de programacion (exposicion)
Lenguajes de programacion (exposicion)
 
1 introduccion a la programacion 1
1 introduccion  a la programacion 11 introduccion  a la programacion 1
1 introduccion a la programacion 1
 
Lenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesLenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretes
 
Generaciones de los lenguajes de programacion pptx
Generaciones de los lenguajes de programacion pptxGeneraciones de los lenguajes de programacion pptx
Generaciones de los lenguajes de programacion pptx
 
Prototipado del software
Prototipado del softwarePrototipado del software
Prototipado del software
 
macros Lenguaje ensamblador
macros Lenguaje ensambladormacros Lenguaje ensamblador
macros Lenguaje ensamblador
 
Metamodelo UML
Metamodelo UMLMetamodelo UML
Metamodelo UML
 
Presentacion Programacion
Presentacion ProgramacionPresentacion Programacion
Presentacion Programacion
 
Topicos Avanzados de Programacion - Unidad 3 componentes y librerias
Topicos Avanzados de Programacion - Unidad 3 componentes y libreriasTopicos Avanzados de Programacion - Unidad 3 componentes y librerias
Topicos Avanzados de Programacion - Unidad 3 componentes y librerias
 
Introduccion a la programacion
Introduccion a la programacionIntroduccion a la programacion
Introduccion a la programacion
 
Metodologías para el desarrollo de aplicaciones móviles
Metodologías para el desarrollo de aplicaciones móvilesMetodologías para el desarrollo de aplicaciones móviles
Metodologías para el desarrollo de aplicaciones móviles
 
Cuadro comparativo de herramientas de programacion eclipse, java
Cuadro comparativo de herramientas de programacion eclipse, javaCuadro comparativo de herramientas de programacion eclipse, java
Cuadro comparativo de herramientas de programacion eclipse, java
 
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y libreriasTópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
 
Conceptos poo (presentación1)
Conceptos poo (presentación1)Conceptos poo (presentación1)
Conceptos poo (presentación1)
 
Tabla comparativa programación estructurada y orientada a objetos
Tabla comparativa programación estructurada y orientada a objetosTabla comparativa programación estructurada y orientada a objetos
Tabla comparativa programación estructurada y orientada a objetos
 
PARADIGMA IMPERATIVO
PARADIGMA IMPERATIVOPARADIGMA IMPERATIVO
PARADIGMA IMPERATIVO
 
Java ME (Micro Edition)
Java ME (Micro Edition) Java ME (Micro Edition)
Java ME (Micro Edition)
 
Paradigmas de programacion
Paradigmas de programacionParadigmas de programacion
Paradigmas de programacion
 
Programacion MODULAR
Programacion MODULARProgramacion MODULAR
Programacion MODULAR
 
Programacion Orientada a Eventos
Programacion Orientada a EventosProgramacion Orientada a Eventos
Programacion Orientada a Eventos
 

Similar a Programacion estructurada

Programacion estructurada
Programacion estructurada Programacion estructurada
Programacion estructurada elvis mendieta
 
Programacion estructurada 2
Programacion estructurada 2Programacion estructurada 2
Programacion estructurada 2elvis mendieta
 
Programacion estructurado
Programacion estructuradoProgramacion estructurado
Programacion estructuradoAgapito26
 
Programacion estructurado
Programacion estructuradoProgramacion estructurado
Programacion estructuradoAgapito26
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructuradalindacajaperuiz
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructuradaMarcelo Brocel
 
Programacion estructurada
Programacion estructuradaProgramacion estructurada
Programacion estructuradaVivi Marquez
 
Programacion estructurada
Programacion estructuradaProgramacion estructurada
Programacion estructuradaVivi Marquez
 
Programacion estructurada
Programacion estructuradaProgramacion estructurada
Programacion estructuradaAngel Ordoñez
 
PROGRAMACION ESTRUCTURADA
PROGRAMACION ESTRUCTURADAPROGRAMACION ESTRUCTURADA
PROGRAMACION ESTRUCTURADATeDy j Sanchez
 
Programacion estructurada
Programacion estructuradaProgramacion estructurada
Programacion estructuradaJonathan Abel
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructuradaHRS1993
 
Programacion estructurada
Programacion estructuradaProgramacion estructurada
Programacion estructuradaMabyta Mora
 
Programacin estructurada
Programacin estructuradaProgramacin estructurada
Programacin estructuradaRubixita12
 
Programación esctructurada2
Programación esctructurada2Programación esctructurada2
Programación esctructurada2betshycastillo
 
Programación esctructurada2
Programación esctructurada2Programación esctructurada2
Programación esctructurada2betshycastillo
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructuradaronnyme21
 

Similar a Programacion estructurada (20)

Programacion estructurada
Programacion estructurada Programacion estructurada
Programacion estructurada
 
Programacion estructurada 2
Programacion estructurada 2Programacion estructurada 2
Programacion estructurada 2
 
Concepto
ConceptoConcepto
Concepto
 
Programacion estructurado
Programacion estructuradoProgramacion estructurado
Programacion estructurado
 
Programacion estructurado
Programacion estructuradoProgramacion estructurado
Programacion estructurado
 
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
 
Programacion estructurada
Programacion estructuradaProgramacion estructurada
Programacion estructurada
 
Programacion estructurada
Programacion estructuradaProgramacion estructurada
Programacion estructurada
 
Programacion estructurada
Programacion estructuradaProgramacion estructurada
Programacion estructurada
 
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
 
Programacion estructurada
Programacion estructuradaProgramacion estructurada
Programacion estructurada
 
Programacin estructurada
Programacin estructuradaProgramacin estructurada
Programacin estructurada
 
Programación esctructurada2
Programación esctructurada2Programación esctructurada2
Programación esctructurada2
 
Programación esctructurada2
Programación esctructurada2Programación esctructurada2
Programación esctructurada2
 
Presentación1
Presentación1Presentación1
Presentación1
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructurada
 

Programacion estructurada

  • 1.
  • 2. Es un paradigma de programación orientado a mejorar la claridad, calidad y tiempo de desarrollo de un programa de computadora, utilizando únicamentesubrutinas y tres estructuras: secuencia, selección (if y switch) e iteración (bucles for y while), considerando innecesario y contraproducente el uso de la instrucción de transferencia incondicional (GOTO), que podría conducir a "código espagueti", que es mucho más difícil de seguir y de mantener, y era la causa de muchos errores de programación. Surgió en la década de 1960, particularmente del trabajo Böhm y Jacopini, y una famosa carta, la sentencia goto considerada perjudicial, de Edsger Dijkstra en 19682 — y fue reforzado teóricamente por el teorema del programa estructurado, y prácticamente por la aparición de lenguajes como ALGOL con adecuadas y ricas estructuras de control.
  • 3. FUNDAMENTACIÓN TEÓRICA El teorema del programa estructurado proporciona la base teórica de la programación estructurada. Señala que tres maneras de combinar programas son suficientes para expresar cualquierfunción computable: secuencia, selección e iteración. Esta observación no se originó con el movimiento de la programación estructurada. Estas estructuras son suficientes para describir el ciclo de instrucción de una unidad central de procesamiento, así como el funcionamiento de una máquina de Turing. Por lo tanto un procesador siempre está ejecutando un "programa estructurado" en este sentido, incluso si las instrucciones que lee de la memoria no son parte de un programa estructurado. Sin embargo, los autores usualmente acreditan el resultado a un documento escrito en 1966 por Böhm y Jacopini, posiblemente porque Dijkstra había citado este escrito. El teorema del programa estructurado no responde a cómo escribir y analizar un programa estructurado de manera útil. Estos temas fueron abordados durante la década de 1960 y principio de los años 1970, con importantes contribuciones de Dijkstra, Robert W. Floyd, Tony Hoarey y David Gries.
  • 4.  Los programas son más fáciles de entender, pueden ser leídos de forma secuencial y no hay necesidad de hacer engorrosos seguimientos en saltos de líneas (GOTO) dentro de los bloques de código para intentar entender la lógica.  La estructura de los programas es clara, puesto que las instrucciones están más ligadas o relacionadas entre sí.  Reducción del esfuerzo en las pruebas y depuración. El seguimiento de los fallos o errores del programa ("debugging") se facilita debido a su estructura más sencilla y comprensible, por lo que los errores se pueden detectar y corregir más fácilmente.  Reducción de los costos de mantenimiento. Análogamente a la depuración, durante la fase de mantenimiento, modificar o extender los programas resulta más fácil.  Los programas son más sencillos y más rápidos de confeccionar.  Se incrementa el rendimiento de los programadores, comparado con la forma anterior que utiliza GOTO.
  • 5.  El principal inconveniente de este paradigma de programación es que se obtiene un único bloque de programa, que cuando se hace demasiado grande puede resultar problemático su manejo; esto se resuelve empleando la programación modular, definiendo módulos interdependientes programados y compilados por separado.  Un método un poco más sofisticado es la programación por capas, en la que los módulos tienen una estructura jerárquica en la que se pueden definir funciones dentro de funciones o de procedimientos
  • 6. En un bajo nivel, los programas estructurados con frecuencia están compuestos de simples estructuras de flujo de programa jerárquicas. Estas son secuencia, selección y repetición: "Secuencia" se refiere a una ejecución ordenada de instrucciones. En "selección", una de una serie de sentencias es ejecutada dependiendo del estado del programa. Esto es usualmente expresado con palabras clave como if..then..else..endif, switch, o case. En algunos lenguajes las palabras clave no se puede escribir textualmente, pero debe ser delimitada (stropped). En la "repetición" se ejecuta una sentencia hasta que el programa alcance un estado determinado, o las operaciones han sido aplicadas a cada elemento de una colección. Esto es usualmente expresado con palabras clave como while, repeat, for o do..until. A menudo se recomienda que cada bucle sólo debe tener un punto de entrada (y en la programación estructural original, también sólo un punto de salida, y pocos lenguajes refuerzan esto).
  • 7. Es posible hacer la programación estructurada en cualquier lenguaje de programación, aunque es preferible usar algo como un lenguaje de programación procedimental. Algunos de los lenguajes utilizados inicialmente para programación estructurada incluyen: ALGOL Pascal PL/I Ada Pero la mayoría de los nuevos lenguajes programación procedimentales desde entonces han incluido características para fomentar la programación estructurada y a veces deliberadamente omiten características en un esfuerzo para hacer más difícil la programación no estructurada.
  • 8. TEOREMA DE LA ESTRUCTURA El teorema de la estructura 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 de 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.
  • 9. Se definen de la siguiente forma: SECUENCIA: es simplemente la formalización de la idea de que las instrucciones de un programa son ejecutadas en el mismo orden en que ellas aparecen en el programa. En términos de diagrama de flujo la secuencia es representada por una función después de la otra, como se muestra a continuación. A y B pueden ser instrucciones sencillas hasta módulos completos, lo importante es que sean programas propios, independientemente de su tamaño o complejidad interna. Ay B deben ser programas propios en el sentido en que estos fueron definidos, es decir, que posean solamente una entrada y una salida; la combinación de A seguida por B es también un programa propio, ya que esta unión tiene una entrada y una salida exclusivamente, esto se muestra gráficamente en la figura siguiente: Donde la caja externa sugiere que la combinación de A seguida de puede ser tratada como una unidad para propósitos de control.
  • 10. SELECCIÓN: Es la escogencia entre dos acciones tomando la decisión en base al resultado de evaluar un predicado. Esta estructura de control es denominada usualmente IFTHENELSE. La representación en forma de diagrama de flujo de esta estructura lógica de control se muestra a continuación: F Donde P es predicado y A y B son las dos funciones. ITERACIÓN: Esta estructura lógica es utilizada para que se repita la ejecución de un conjunto de instrucciones mientras se cumpla una condición o predicado. Generalmente a esta estructura se le conoce como DOWHILE (hacer mientras) y su representación se muestra a continuación: V F donde P es predicado y A es el modulo controlado. Se debe comprender claramente que un rectángulo, que representa un modulo en un diagrama, siempre puede ser sustituido por cualquiera de las tres estructuras de control descritas anteriormente
  • 11. La segmentación reflejara la división del programa en partes que se relacionen entre sí en forma jerárquica, formando una estructura de árbol. Esta organización puede ser representada gráficamente por un diagrama de procesos, lo que hace más sencillo comprender la relación existente entre un segmento y el resto del programa. Adicionalmente, podemos indicar que, el segmento en la cumbre de la estructura jerárquica contendrá las funciones de control de mas alto nivel, mientras que los segmentos inferiores en esta organización contendrán funciones detalladas. Una segmentación bien diseñada deberá mostrar, claramente, las relaciones existentes entre las distintas funciones de manera que sea fácil comprender lo que debe hacer el programa y asegurar que efectivamente lo realice. Este hecho, garantizara que los cambios que se efectúen a una parte del programa, durante la programación original o su mantenimiento, no afecten al resto del programa que no ha sufrido cambios. En una segmentación bien realizada la comunicación entre segmentos se lleva a cabo de una manera cuidadosamente controlada. Algunos autores recomiendan que los segmentos consistan en procedimientos y la única comunicación existente entre ellos sea a través de una lista de parámetros, esto reduce la oportunidad de que interactuen entre ellos de una manera indeseada e inentendible.