En este post veremos que podemos utilizar variables de tipo entero que cumplan la misma función, asumiendo que sólo podrán tomar dos valores (dos números). En C++ se utilizan con mayor frecuencia los enteros porque el mismo lenguaje asume que el valor 0 hace la función de falso y el valor distinto de 0 hace la función de cierto.
Por ejemplo, el siguiente programa utiliza la variable i para mostrar una cuenta regresiva desde 10 hasta 1 y también sirve como variable de condición de salida para el while:
int main()
{
//variable i sirve para la impresión y como tope del while
int i = 10;
//poniendo simplemente la i como condición significa que
//iterará mientras la variable i sea diferente de cero
while(i)
{
cout << "i = " << i << endl;
i--;//decrementa i hasta que llega a 0 y sale del bucle
}
return 0;
}
La salida del programa es esta:
i = 10 i = 9 i = 8 i = 7 i = 6 i = 5 i = 4 i = 3 i = 2 i = 1
Con esto podemos ver que es muy importante conocer las capacidades de cada lenguaje de programación para que se adapten mejor a una solución o a un estilo de programar.
Ahora mostraré otro ejemplo en C++ en el que utilizaré la lógica inversa. El siguiente programa muestra un bucle que itera siempre que la condición No sea igual a 0, para eso se utiliza el símbolo ! que invierte el valor de la variable evaluada:
int main()
{
//variable i se inicializa con valor 0 (falso)
int i = 0;
//Itera mientras el resultado de la parte entera de la división sea igual a 0
while(!(i/3))
{
cout << "i = " << i << endl;
i++;
}
return 0;
}
La salida del programa es esta:
i = 0 i = 1 i = 2