Estructuras de Control y Repetición

Instrucción IF

Esta instrucción hace que se ejecuten unas sentencias u otras dependiendo del valor que toma una condición.

Existen 2 palabras reservadas que conforman la condicionante IF y son el if y else. Ve los siguientes casos de uso.

// Caso 1
if (condición) {
    // Esta instrucción es ejecutada si se comple la condición
    instrucción1;
    instrucción2;
}

// Caso 2
if (condición) {
    // Esta instrucción es ejecutada si se cumple la condición
    instrucción1;
} else {
    // Esta instrucción es ejecutada si no se cumple la condición
    instrucción2;
}

// Caso 3
if (condición1){
    // Esta instrucción es ejecutada si se cumple la condición1
    instrucción 1;
} else if (condición2) {
    // Esta instrucción es ejecutada si no se cumple la condición1
    // y si se cumple la condición2
    instrucción 2;
} else {
    // Esta instrucción es ejecutada si no se cumple la condición1
    // y la condición2
    instrucción 3;
}

// Caso 3
if (condición1) {
    // Esta instrucción es ejecutada si se cumple la condición
    instrucción1;
    if (condición2) {
        // Esta instrucción es ejecutada si se cumple la condición1
        // y la condición2
        instrucción2;
    } else {
        // Esta instrucción es ejecutada si se cumple la condición1
        // pero no la condición2
        instrucción3;
    }
} else {
    // Esta instrucción es ejecutada si no se cumple la condición1
    instrucción4;
}

Puedes combinar los casos 1, 2 y 3 de la manera que se te ocurra para generar muchos flujos del programa.

Ejemplo:

/*
    Etapa de la vida
*/

#include <iostream>

using namespace std;

int main(int argc, char const *argv[]) {
    string gender;
    int age;

    cout << "Ingresa tu sexo [masculino/femenino]: ";
    cin >> gender;

    cout << "Ingresa tu edad: ";
    cin >> age;

    if (gender != "masculino" && gender != "femenino") {
        cout << "Ingresa in sexo válido" << endl;
        return 0;
    }

    if (age < 18) {
        if (gender == "femenino") {
            cout << "Eres una niña" << endl;
        } else {
            cout << "Eres un niño" << endl;
        }
    } else if (age >= 18 && age < 60) {
        if (gender == "masculino") {
            cout << "Eres un hombre hecho y derecho" << endl;
        } else {
            cout << "Eres una mujer hecha y derecha" << endl;
        }
    } else {
        if (gender == "femenino") {
            cout << "Eres una abuelita" << endl;
        } else {
            cout << "Eres un abuelito" << endl;
        }
    }

    return 0;
}

Instrucción FOR y WHILE

Ejecuta una instrucción o un bloque de instrucciones cero o más veces, dependiendo del valor de la condición.

Se usa la palabra reservada while para indicar esta estructura de repetición.

while (condicion) {
    instrucciones;
}

Ejemplo

/*
    Par o impar
*/

#include <iostream>

using namespace std;


int main(int argc, char const *argv[]) {
    int i = 0;

    while ( i <= 10 ) {
        if ( i % 2 == 0 ) {
            cout << "El número " << i << " es par." << endl;
        } else {
            cout << "El número " << i << " es impar." << endl;
        }
        i++;
    }

    return 0;
}

Instrucción FOR

Un bucle for hace que una instrucción o bloque de instrucciones se repitan un número determinado de veces mientras se cumpla la condición.

Esta formada por 3 partes separadas por punto y coma. La primera se usa para inicializar las variables que se usaran dentro del bloque de instrucciones del for, la segunda representa la condición de parada y la tercera para realizar operaciones (comúnmente con las variables de la primera parte).

for (inicialización; condición; operaciones) {
    instrucciones;
}

Ejemplo

/*
    Par o impar
*/

#include <iostream>

using namespace std;


int main(int argc, char const *argv[]) {

    for (int i = 0; i <= 10; i++){
        if ( i % 2 == 0 ) {
            cout << "El número " << i << " es par." << endl;
        } else {
            cout << "El número " << i << " es impar." << endl;
        }
    }

    return 0;
}

Last updated