Bucle while

Diagrama de bucle While.

El bucle while o bucle mientras es un ciclo repetitivo basado en los resultados de una expresión lógica; se encuentra en la mayoría de los lenguajes de programación estructurados. El propósito es repetir un bloque de código mientras una condición se mantenga verdadera.[1]

Sintaxis

La sintaxis en pseudocódigo es la siguiente:

Condición

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

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

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 0, se considerará que la condición se cumple

Ejemplos (usando sintaxis de C++)

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;
}

Véase también

Referencias

  1. Joyanes Aguilar, Luis (2013). Fundamentos generales de programación. Mc Graw Hill. ISBN 978-607-15-0818-8.