14 de septiembre de 2020

Estructuras de control

La programación modular enseña la descomposición de un programa en módulos más simples de programar, y la programación estructurada permite la escritura de programas fáciles de leer y modificar. En un programa estructurado el flujo lógico se gobierna por las estructuras de control básicas:

  • Secuenciales. Una estructura secuencial es aquella en la que una acción (instrucción) sigue a otra en secuencia. Es decir, las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente y así sucesivamente hasta el final del proceso.
  • Repetitivas. Las estructuras que repiten una secuencia de instrucciones un número determinado de veces se denominan bucles y se le llama iteración al hecho de repetir la ejecución de una secuencia de acciones. Además: existen bucles determinados (FOR, FOR EACH) e indeterminados (WHILE, DO -- WHILE), es decir, se utilizan si se conoce o no de antemano el numero de repeticiones, aunque con un poco de esfuerzo es posible utilizar cualquier estructura.
  • Selectivas. Las estructuras selectivas, también conocidas como de decisión o alternativas, y se utilizan para tomar decisiones lógicas, evaluando una condición usando expresiones lógicas y en función del resultado de la misma se realiza una opción u otra.

IF                           si – entonces – sino

La estructura de selección simple o if es aquella secuencia de un programa que se ve afectada por una condición, si se cumple la secuencia del programa entrará al bloque de instrucciones de dicha estructura, de lo contrario la secuencia del programa “evitara” ese bloque de código.

if (/* condition */)
 /* then */ {
    /* code */
}


IF … ELSE             si – entonces – sino

Esta estructura funciona igual que if,, con la diferencia de que en caso de no cumplir la condición fijada se entrará al bloque de instrucciones else, dado que la condición se cumplió. Y en caso de que se cumpliera la condicion if, evitara el bloque else.

if (/* condition */)
{
    /* code */
}
else {
    /* code */
} 

if (/* condition */) {
    /* code */ }
else if (/* condition */) {
    /* code */ }
else {
    /* code */
}



SWITCH               según sea

La estructura selectiva switch–case también conocida como de decisión múltiple. Puede evaluar una misma expresión con múltiples opciones, que no sean condiciones, es decir el switch evalúa si una variable tiene un valor en específico.
Una sentencia case es una opción de los diferentes valores que puede tomar la expresión que se evalúa. Por cada valor permitido que la expresión pueda tomar, se representará una sentencia case.
  • Cada sentencia case se corresponde con un único valor. No se pueden establecer rangos o condiciones sino que se deben comparar con valores concretos.
  • Los valores no comprendidos en ninguna sentencia case se pueden gestionar en default, que es opcional.
  • En la ausencia de break, cuando se ejecuta una sentencia case se ejecutan también todas las case que van a continuación, hasta que se llega a un break o termina el switch.
switch (expression) {
case /* constant-expression */:
    /* code */
    break;

default:
    break;
}





WHILE                 mientras

El ciclo while primero evalúa la condición y solo si se cumple (es true) realiza las instrucciones, en caso contrario (es false), es decir la condición no es cumplida desde un inicio, el flujo del programa no entrará en el bloque de instrucciones que se encuentran dentro del ciclo.

while (/* condición con operadores lógicos */) {
    /* code */
}



DO – WHILE       hacer mientras

Este ciclo permite la ejecución del bloque repetitivo al menos una vez, se cumpla o no la condición, pues ejecuta primero el bloque do y al finalizarlo evalúa la condición, si ésta se cumple (es true) regresa a ejecutar nuevamente el bloque do, de lo contrario (es false) continua la ejecución sin regresar al bloque.
do
{
    /* code */
while (/* condición con operadores lógicos */);

 



FOR                      desde / para

Es un ciclo muy útil cuando se conoce de antemano el numero de veces que se requiere se ejecute el mismo bloque de instrucciones. 
Inicio: colocar un valor numérico donde comenzará el conteo de ejecuciones i = 0.
Condición: se coloca la condición a evaluar en cada iteración del ciclo para que se siga ejecutando mientras se cumpla esta condición, pues el momento en que se evalúe como falsa el ciclo dejará de repetirse i<n. 
Incremento: esta instrucción se evalúa como si fuese la última del bloque de instrucciones, e indica el incremento o decremento de la variable numérica de inicio, para reevaluar la condición en cada iteración i++.

for (inicio; condición; incremento) {
    /* bloque de instrucciones a repetir n veces */
}

 


El bucle FOR EACH se creo para manejar fácilmente arrays (java).

for (dataTypeArray elementVar : nameArray ){
    /* code with elementVar */
}

Las llaves se utilizan para agrupar las instrucciones que se han de ejecutar, si sólo desea que se ejecute una instrucción se pueden omitir en algunos lenguajes. Por otra parte, es posible anidar estas estructuras de control para realizar alguna evaluación.


Otras declaraciones auxiliares en las estructuras de control.

REPEAT                repetir

BREAK                  interrumpir

La sentencia "break" finaliza (o sale de) el ciclo (loop) inmediatamente cuando se encuentra.

CONTINUE         continuar

 La instrucción "continue" omite la iteración actual del ciclo y continúa con la siguiente iteración. 

 

No hay comentarios.: