La Programación Estructurada.
La
programación estructurada se refiere al control de ejecución. El control de su
ejecución es una de las cuestiones más importantes que hay que tener en cuenta
al construir un programa en un lenguaje de alto nivel. 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.
Sin embargo,
algunos lenguajes de programación más antiguos (como Fortran) se apoyaban en
una sola instrucción para modificar la secuencia de ejecución de las instrucciones
mediante una transferencia incondicional de su control (con la instrucción goto,
del inglés "go to", que significa "ir a"). Pero estas
transferencias arbitrarias del control de ejecución hacen los programas muy
poco legibles y difíciles de comprender. A finales de los años sesenta, surgió
una nueva forma de programar que reduce a la mínima expresión el uso de la
instrucción goto y la sustituye por otras más compresibles.
Teoremas
Esta forma
de programar se basa en un famoso teorema, desarrollado por Edsger Dijks-
tra, que
demuestra que todo programa puede escribirse utilizando únicamente las tres
estructuras
básicas de control siguientes:
• Secuencia:
el bloque secuencial de instrucciones, instrucciones ejecutadas sucesivamente, una
detrás de otra.
• Selección: la
instrucción condicional con doble alternativa, de la forma "if condición then
instrucción -1 else
instrucción-2".
• Iteración:
el bucle condicional "while condición do instrucción", que ejecuta la
instrucción repetidamente mientras la condición se cumpla.
Los
programas que utilizan sólo estas tres instrucciones de control básicas o sus
variantes (como los bucles for, repeat o la instrucción condicional switch-case),
pero no la instrucción goto, se llaman estructurados. Ésta es la noción clásica
de lo que se entiende por programación estructurada (llamada también programación
sin goto) que hasta la aparición de la programación orientada a objetos se
convirtió en la forma de programar más extendida. Esta última se enfoca hacia
la reducción de la cantidad de estructuras de control para reemplazarlas por
otros elementos que hacen uso del concepto de polimorfismo. Aun así los
programadores toda vía utilizan las estructuras de control ( if, while, for, etc.)
para implementar sus algoritmos porque en muchos casos es la forma más natural
de hacerlo.
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. Este hecho 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 contiguas 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 transferencia de control goto.
Estructuras de Control
ESTRUCTURAS DE DECISIÓN
Estas permiten seleccionar la próxima sentencia a ejecutarse sobre la base de una decisión expresión lógica o variable lógica).
Los tipos de estructuras de decisión que podemos encontrar son:
● Simples
● Dobles
● Múltiples
ESTRUCTURAS DE DECISION SIMPLE
La estructura de decisión más sencilla, es la llamada simple, Si-Entonces Su efecto es el de ejecutar una determinada acción cuando se cumpla una cierta condición y en caso contrario seguir el orden secuencial.
La selección Si-Entonces evalúa la condición y
de acuerdo a los resultados:
- Si es verdadero, ejecuta una o varias opciones
- Si es falsa, entonces no hace nada y sigue la ejecución normal del programa
EJEMPLO:
● En
Pseudocódigo
Si (condición) entonces Si (A>B) entonces Si (hora <12)
entonces
sentencias... Escribir ('El mayor es A') Escribir ('buenos dias')
sentencias... Escribir ('El mayor es A') Escribir ('buenos dias')
fin si Fin si Fin si
ESTRUCTURAS
DE DECISION DOBLES
Permiten ejecutar dos conjuntos de sentencias alternativos en función del resultado de la evaluación de una condición lógica.
➲ Si el resultado es “cierto” se ejecuta un grupo de sentencias.
➲ Si el
resultado es “falso”se ejecuta otro grupo de sentencias.
EJEMPLO
- En Pseudocodigo
Si (
decisión )
entonces Si
(edad < 18) entonces
Sentencias.... Escribir ('no puede votar')
Si no Sino
Sentencias.... Escribir ('Si puede Votar')
fin si Fin si
Ejemplo Programación Estructurada de Decisión
ESTRUCTURAS DE CONTROL ITERACTIVAS
Las
estructuras de control iterativas o de repetición, inician o repiten un bloque
de instrucciones si se cumple una condición o mientras se cumple una condición.
Do-While
Artículo principal: Bucle do
Mientras la
condición sea verdadera, se ejecutarán las sentencias del bloque.
DO WHILE (Condición)
(Bloque de sentencias)
LOOP
que también
puede expresarse:
WHILE (Condición)
(Bloque de sentencias)
WEND
Do-Until
Se ejecuta
el bloque de sentencias, hasta que la condición sea verdadera
DO
(Bloque de sentencias)
LOOP UNTIL (Condición)
For-Next
Artículo principal: Bucle for
La sentencia
For da lugar a un lazo o bucle, y permite ejecutar �un conjunto de sentencias cierto
número de veces.
- Primero, se evalúan las expresiones 1 y 2, dando como resultado dos números.
- La variable del bucle recorrerá los valores desde el número dado por la expresión 1 hasta el número dado por la expresión 2.
- El bloque de sentencias se ejecutará en cada uno de los valores que tome la variable del bucle.
FOR (Variable) = (Expresión1) TO (Expresión2) STEP (Salto)
(Bloque de sentencias)
NEXT
Ejemplo Programación Estructurada de Iteractivas
No hay comentarios:
Publicar un comentario