Este capítulo, lo usaré para explicar como alterar el flujo del programa con las sentencias de control y con la sentencia goto.
Así que, aquí empieza...
Una sentencia de control es una instrucción que permite ejecutar el bloque de código que contiene, si la sentencia devuelve cierto (true). Hay unas cuantas sentencias, dedicaré un tiempo a cada una, son muy sencillas.
La sentencia if permite ejecutar un bloque si la condición que contiene se cumple. A la sentencia, se le puede incluir un else, que ejecuta su bloque si el if anterior no se ha cumplido.
if(x == 0 ) //si el valor de x es 0
{
std::cout << "X es 0!";
}
else if(x == 1) // si x no es 0, pero es 1
{
std::cout << "X es 1!";
} else // si x no es ni 0 ni 1
{
std::cout << "X no es ni 1 ni 0.";
}
La sentencia while permite ejecutar indefinidas veces un bloque mientras la condición sea cierta. Al while no se le pueden incluir else.
while(x <= 10) // Mientras x sea mas pequeño o igual a 0
{
x++; // Incremento de X en 1
std::cout << "X es " << x;
}
La sentencia for permite ejecutar un número de veces un bloque. Tampoco puede incluir else.
for(int i = 0; i <= 10; i++) // El valor de i al comienzo es 0, hasta que no sea mayor que 10, ejecuta:
{
std::cout << "I es " << i;
}
Ahora, junto a while y for, pueden estar las instrucciones continue y break. Continue, lo que hace es parar el flujo de while, for o switch y repetirlo. Break, lo que hace es salir del bloque. Unos ejemplos:
Un programa que escribe los numeros menores de 100 impares.
#include
int main()
{
for(int i = 0; i <= 100; ++i)
{
if((i % 2) == 0) // Si el resto de i / 2 es 0
{
continue;
}
std::cout << i << ", ";
}
return 0;
}
La salida del programa, debe ser la siguiente:
1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99
Ahora, la sentencia goto nos permite saltar entre instrucciones del programa siempre que estén en la misma función.
goto salta entre etiquetas, que tienen la sintaxis siguiente:
[nombre]:
Un ejemplo sería:
x:
Lo que sería llamada como goto x;
Ahora, simularemos una sentencia for con goto.
int numero = 0;
back:
numero++;
if(numero <= 10)
{
std::cout << "numero es " << numero;
goto back;
}
Es lo mismo que.
for(int numero = 0; numero <= 10; numero++)
{
std::cout << "numero es " << numero;
}
Bueno, aqui acaba el capítulo, espero que haya sido fácil de entender y se haya aprendido algo mas.
0 comentarios:
Publicar un comentario