Bucle While

De Viquipèdia
Dreceres ràpides: navegació, cerca
Diagrama de bucle While

El Bucle while o bucle mentre és una estructura de la majoria dels llenguatge de programació estructurat el propòsit és repetir un bloc de codi mentre una condició es mantingui veritable.

Sintaxi[modifica | modifica el codi]

La sintaxi en pseudocodi és la següent:


 {\color{Sepia}\mathit{mentre}}\;
 {\color{OliveGreen}\mathit{condici \acute{o}}}\;
 {\color{Sepia}\mathit{fer}}

 {\color{BlueViolet}\mathit{instruccions}}

 {\color{Sepia}\mathit{fi \, mentre}}

Condició[modifica | modifica el codi]

La condició ha de ser una sentència que retorni un valor booleà, i aquesta pot ser el valor booleà en si, veritable (true) si la condició es compleix, o fals si aquesta no es compleix (false). També pot contenir el nom d'una variable booleana, i el valor de l'expressió dependrà del seu contingut. S'ha de tenir en compte que a més de les variables també hi pot haver crides a funcions que retornin un valor.

Sentències comparatives[modifica | modifica el codi]

La forma més òbvia potser, i la més usada sense dubte, són les sentències comparatives, que usen els operands igual, diferent, menor o igual, major o igual, menor i major. En el cas del llenguatge C, s'utilitzen els següents símbols per representar les comparacions anteriors: ==, ! =, <=,> =, <,>,

Particularitats de llenguatges[modifica | modifica el codi]

En alguns llenguatges, es poden utilitzar variables no booleanes en la comparació: Per exemple, si la variable val 0 serà com si la condició no es complís, i sempre que sigui diferent de 0, es considerarà que la condició es compleix.

Exemple (usant sintaxi de C)[modifica | modifica el codi]

# Include <stdio.h>
int main (){
 int tecla = 0;
 while (tecla == 0){
 scanf ("% i", & tecla);/* Llegim el nombre ingressat */
 }
}

En aquest exemple el programa va a llegir la pulsació d'una tecla mentre el seu valor sigui igual a zero, en el moment en què es premi una Tecla diferent, s'aturarà.

Exemple (usant el llenguatge Lexico)[modifica | modifica el codi]

Genera i mostra els primers 10 nombres naturals:

tasca
{
l'objecte nombre_natural és una quantitat
copieu 0 en nombre_natural
mentre nombre_natural <10 faci:
{
copieu nombre_natural+1 a nombre_natural
mostri nombre_natural
}
}