Tipos de estructuras en la programación estructurada (lenguaje ejemplo C)

Estructuras secuenciales
conjunto de instrucciones secuenciales con un ordenamiento lógico para lograr un fin.

 

Estructuras de selección

La sentencia if tiene dos alternativas o formatos posibles

If ( condición ) acción

If (condición) acción_1 else acción_2

Donde condición es  una expresión lógica, accion1 es el conjunto de sentencias a ejecutarse en caso de ser afirmativa la condición y accion2 es el conjunto de sentencias a ejecutarse en caso de ser falsa dicha condición.

Las sentencias van incluidas dentro de {  } en  caso de ser de mas de una línea de código.

Puede darse el caso de if anidados, donde dentro del else de un if nazca otro if, deberá en este caso ser cuidadoso de donde comienza y termina cada una de las estructuras del if.

Así mismo, puede en la misma expresión de condición conectar varias condiciones con operadores lógicos.

Cuidado, el orden de los operadores pude ser critico en algunas situaciones

En caso de tener varios caminos a tomar según el valor que puede tomar una variable, es conveniente el uso del operador switch.
El valor de la variable o expresión que involucra el switch debe ser int o char.

Switch ( condición )
{
            case etiqueta: sentencias;
                                                                       break;
            case etiqueta: sentencias;
                                                                       break;
            case etiqueta: sentencias;
                                                                       break;
            case etiqueta: sentencias;
                                                                       break;
            default:                                   sentencias;
}


El break es obligatorio a fin de evitar que luego de ejecutar un as sentencias de un case, no siga con las que se encuentran debajo, sino que corte la instrucción switch.
La etiqueta default no es obligatoria pero si conveniente y sirve para indicar que hacer si la expresión no toma ningún valor preestablecido en los case.

Por supuesto las sentencias es conveniente que se escriban entre {}.

Puede darse la siguiente posibilidad de switch

Switch (c)
{
case 0: case 1 : case 3 :           sentencias;
                                                                                              break;
case 2: case 4 : case 5 :           sentencias;
                                                                                              break;
default:                                   sentencias;
                                                                                              break;
}

o sea que ante distintos valores que pueda tomar C haga lo mismo.

 

Estructuras de iteración


Sentencia while


While ( condición )
{
sentencias;
}

en esta estructura las sentencias se ejecutan mientras la condición es verdadera y termina cuando pasa a falsa y se ejecuta la próxima sentencia fuera del ciclo while.
La variable que representa la condición del bucle se denomina variable de control del bucle y debe ser

·         Inicializada
·         Comprobada
·         Actualizada dentro de las sentencias del bucle

También puede darse el caso de los ciclos conocidos como do - while donde el control del ciclo se hace debajo de las sentencias.
Como característica fundamental de este tipo de ciclos es que al menos una vez se van a ejecutar las sentencias definidas en el bucle.

Do
{
            sentencias;
}
while (condición);


Dentro de los ciclos también existe la sentencia break para realizar una terminación anormal del bucle.



Sentencia  for

     Esta sentencia se utiliza para la realización de un numero finito y conocido de ciclos de las sentencias definidas dentro de el.

For (valor inicial; condición final; incremento)
{
sentencias;
}

Hay que tener cuidado que ninguna operación interna del bucle modifique el valor de la variable de control, haciendo a esta incontrolable.

El siguiente ejemplo

For (;;)
{
sentencia;
}

Dará un resultado infinito de ejecuciones de las sentencias, debiendo finalizarlo el operador por teclado (CTRL+C)

en cambio

for (i=1;i<=10;++);
{
sentencia;
}

No se ejecutara nunca por el “;” luego del for

Por supuesto y como parte de todo programa dentro de una estructura de iteración puede existir una, ninguna o varias estructuras de iteración, por lo que debemos tener los mismos cuidados que con los if anidados.

4 comentarios: