Definición de la instrucción «while»
Esta instrucción repite un conjunto de sentencias un número indeterminado de veces.
Éste número de repeticiones depende de la condición y lo que tarde en dejar de cumplirse.
Sintaxis
La sintaxis de la instrucción «while» es simple.
Tiene una sola sección por así decirlo donde escribiremos la condición que hará que se repita el bucle.
while(<secCondición>){
Sentencias;
}
Ejemplo de programa
El siguiente programa, devolverá el número de veces que has introducido el numero «2» y terminará cuando introduzcas el numero «0».
#include <iostream>
using namespace std;
int main() {int x,contador=0;
while(x != 0){cin >> x;
if(x==2){
contador++;
}}
cout << «Has introducido » << contador << » veces el numero 2″ << endl;
}
El programa crea la variable ‘x’ que contendrá el último número que introduce el usuario, y la variable ‘contador’ almacenara el número de veces que el usuario haya introducido el numero «2».
Una vez inicializadas las variables , entramos en el bucle si la condicion «x != 0» se cumple y repetimos hasta que deje de cumplirse.
En el interior del bucle, hay una sentencia «cin >> x » para que el usuario puede ir introduciendo números, y una condición en un «if» para que el contador se incremente si el numero introducido por el usuario es un «2».
Cuando el usuario introduce un «0» no cumplirá la condición del bucle por lo tanto saltará el while e irá a la siguiente sentencia. En este caso el «cout» que hará que imprima por pantalla el resultado.
Método while(cin >> variable)
El método «while(cin >> variable)» es el método que se emplea cuando no sabes el número de valores que el usuario introducirá, o quieres que el programa ejecute una instrucción o conjunto de instrucciones tantas veces como valores entre el usuario.
Ejemplo programa
El programa calculará la media aritmética de los valores introducidos por el usuario.
#include <iostream>
using namespace std;int main(){
int x,suma=0,contador=0;
while(cin >> x){
suma=suma+ x;
contador++;
}cout << «La mitjana de tots el nombres introduits es » << suma/contador << endl
}
Primero declaramos las variables, «x» contendrá el valor que introduce el usuario, «suma» contendrá la suma de todos los números que entran, «contador» el número de valores introducidos.
La condición del bucle se cumplirá, mientras el usuario siga introduciendo números. Dentro del bucle tenemos la variable que irá sumando su valor por el del número introducido y así tener el total de la suma de todos los números y un contador que se irá incrementando con cada número introducido.
Una vez salga del bucle simplemente imprimirá la suma de los valores divida por el número de valores introducidos.