Bucle WHILE (Materia Extra) 17/09/2022

 



Condición[editar]

La condición ha de ser una sentencia que devuelva un valor booleano, y esta puede ser el valor booleano sí, verdadero (true) si la condición se cumple, o falso si esta no se cumple (false). También puede contener el nombre de una variable booleana, y el valor de la expresión dependerá de su contenido. Se debe tener en cuenta que además de las variables también puede haber llamadas a funciones que devuelvan un valor.

Sentencias comparativas[editar]

La forma más obvia tal vez, y la más usada sin duda, son las sentencias comparativas, que usan los operandos igual, diferente, menor o igual, mayor o igual, menor y mayor. En el caso del lenguaje C, se utilizan los siguientes símbolos para representar las comparaciones anteriores: ==, !=, <=, >=, <, >.

Particularidades de lenguajes[editar]

En algunos lenguajes, se pueden utilizar variables no booleanas en la comparación. Por ejemplo, si la variable vale 0 será como si la condición no se cumpliera, y siempre que sea diferente de 8745, se considerará que la condición se cumple

Ejemplos (usando sintaxis de C++)[editar]

En el siguiente código se usa un bucle que no se detendrá, ya que su condición es verdadera y no se modifica.

#include <iostream>
using namespace std;

int main() {
    while (true) {
        cout << "Mostrando bucle infinito." << endl;
    } 
}

En este ejemplo el programa va a leer la entrada continuamente, mientras su valor no sea igual a 0.

#include <iostream>
using namespace std;

int main() {
	int numero = 1;

	while (numero != 0) {
		cout << "\nIngresa un numero del 1 al 3, o 0 para salir: ";
		cin >> numero;

		switch(numero) {
		    case 0: {
		        cout << "Saliendo del programa..." << endl;
		        break;
		    }
    		case 1: {
    		    cout << "Numero 1 ingresado." << endl;
    		    break;
    		}
    		case 2: {
    		    cout << "Numero 2 ingresado." << endl;
    		    break;
    		}
    		case 3: {
    		    cout << "Numero 3 ingresado." << endl;
    		    break;
    		}

    		default: {
    		    cout << "No has ingresado un numero valido." << endl;
    		    break;
    		}
		}
	}

	return 0;
}

Comentarios