Hola querido lector y entusiasta de la programación. En este post te mostrare las estructuras de control que son la base para la programación estructurada. Las condiciones y los ciclos. Para hablar de este tema no tomare ningún lenguaje en concreto, es mas daré ejemplos de varios lenguajes y me referiré a los conceptos basado en el teorema de programación estructurada, teniendo siempre presente que estas estructuras de control existen o se pueden recrear en cualquier lenguaje de programación.

Estructuras condicionales o de selección

Este tipo de estructuras ejecuta un bloque de código dependiendo de una o varias condiciones.

Condición simple

Iniciamos con esta estructura de control, ya que es la mas usada, sencilla y fácil de entender.

Lo que permite esta estructura es hacer una evaluación simple, retornando como respuesta un valor (falso o verdadero).

IF (Condición) THEN
    Hacer esto si la condición se cumple
ELSE
    Hacer esto si la condición no se cumple
END IF

Los siguientes son ejemplos de una condición simple, con opción de ejecución en caso de que la condición sea verdadera o falsa (IF ELSE), ya que podemos hacer la estructura mas sencilla solo validando la condición y no hacer nada en caso de que no se cumpla la condición (IF) ya que la instrucción ELSE es opcional.
Para el ejemplo vamos a utilizar dos variables y vamos a suponer que tienen asignado un valor numérico. El objetivo es validar si la primera variable es mayor a la segunda.
Para los ejemplos utilizare los lenguajes que yo mas utilizo, si quieres preguntar por algún otro o quieres comentar con tu ejemplo, dejalo al finalizar el post en los comentarios.

Nota: Existen las condiciones inline pero esto será tema para otra ocasión al ser un poco mas complejo

PHP valida número mayor
if($a > $b){
    echo $a;
} else {
    echo $b;
}
C# valida número mayor
if(a > b){    
    Console.WriteLine(a.ToString());
} else {
    Console.WriteLine(b.ToString());
}
Python valida número mayor
if a > b:
    print(a)
else:
    print(b)
Javascript valida número mayor
if(a > b) {
    console.log(a);
} else {
    console.log(b);
}

Estas condiciones simples se pueden volver mas complejas, a medida que agregamos mas condiciones. Además se pueden anidar una dentro de otra, miremos un ejemplo en seudocódigo.

IF (Condición 1) THEN
    (Código si condición 1)
ELSEIF (Condición 2) THEN
    (Código si condición 2)
ELSEIF (Condición 3) THEN
    (Código si condición 3)
ELSE
    (Código si ninguna de las condiciones se cumplió)
END IF

Selección

Para evitar hacer varias condiciones simples anidadas se creo el control de selección, que se utiliza para escoger una opción dependiendo de una condición.

Select (Expresión)
    Case Valor1
        (Código que se ejecuta si Expresión = Valor1)
    Case Valor2
        (Código que se ejecuta si Expresión = Valor2)
    Case Valor n
        (Código que se ejecuta si Expresión = Valorn)
    Case Else
        (Código que se ejecuta si Expresión no coincide con ningún valor anterior)
End Select

Veamos los ejemplos de este control con algunos lenguajes. Hay una particularidad con Python y es que no tiene por defecto el control switch, pero lo podemos recrear con varios IF ELSE o con un diccionario, como esta en el ejemplo.

PHP selección con Switch
switch ($i) {
    case 0:
        echo "i es igual a 0";
        break;
    case 1:
        echo "i es igual a 1";
        break;
    case 2:
        echo "i es igual a 2";
        break;
    default:
        echo "i no es igual a 0, 1 ni 2";
        break;
}
C# selección con Switch
switch(i) {
    case 0:
        Console.WriteLine("i es igual a 0");
        break;
    case 1:
        Console.WriteLine("i es igual a 1");
        break;
    case 2:
        Console.WriteLine("i es igual a 2");
        break;
    default:
        Console.WriteLine("i no es igual a 0, 1 ni 2");
        break;
}
Python selección con diccionario
switch = {0: "i es igual a 0", 1: "i es igual a 1", 2: "i es igual a 2"}
print switch.get(i, "i no es igual a 0, 1 ni 2")
Javascript selección con Switch
switch (i) {
    case 0:
        console.log(i es igual a 0);
        break;
    case 1:
        console.log(i es igual a 1);
        break;
    case 2:
        console.log(i es igual a 2);
        break;
    default:
        console.log("i no es igual a 0, 1 ni 2");
        break;
}

Estructuras iterativas o de bucles

Estas estructuras repiten un fragmento de código N veces, dependiendo de la condición que se este efectuando. Mientras la condición se cumpla el control ejecutara el código, una vez la condición deje de ser cierta sale del ciclo.

Hay algunos tipos de estructuras que no voy a ejemplificar aquí, como lo son el do-while y el do-until, ya que en seudocódigo y en la teoría son estructuras diferentes, pero en los lenguajes modernos son las mismas estructuras que pasare a mencionar pero con algunos cambios en las condiciones que hace que se comporten de la manera deseada.

Ciclo PARA - REPETIR

Este control tiene la característica que desde el inicio se le pude indicar cuantas repeticiones debe hacer, al hacerlo de esta manera creamos una estructura de control Para(FOR), es decir con un numero definido de iteraciones. Si la validación la hacemos al final se convierte en un ciclo Repetir,

FOR i=0 a 10, STEP = 1
    (Ejecutar código)
END FOR

A continuación para los ejemplos de código imprimiremos los números de 1 a 10.

PHP ciclo For
for ($i = 1; $i <= 10; $i++) {
    echo $i;
}
C# ciclo For
for (int i = 1; i <= 10; i++) {
    Console.WriteLine(i);
}
Python ciclo For
for x in range(1, 11):
    print(x)
Javascript ciclo For
for (let i = 1; i <= 10; i++) {
    console.log(i);
}

Ciclo MIENTRAS

Este ciclo espera siempre una respuesta de una condición, ejecuta un bloque de código mientras que el resultado de la validación de la condición sea verdadera.

Al igual que el anterior ejemplo, imprimiremos los números de 1 a 10.

WHILE (Condición)
    (Bloque de código a ejecutar)
END WHILE
PHP ciclo While
while ($i <= 10) {
    echo $i++;
}
C# ciclo While
while (i <= 10) {
    Console.WriteLine(i);
    i++;
}
Python ciclo While
while (i <= 10):
    print i
    i = i + 1
Javascript ciclo While
while (i <= 10) {
    console.log(i);
    i = i + 1;
}

Hasta aquí­ ha llegado este post, espero que lo hallas disfrutado mucho y te halla sido de mucha ayuda, muy educativo e interesante. No olvides compartirlo, déjame tus comentarios y dudas, hasta la próxima.