Bucle Do-while

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

El bucle Do-while comprova la condició de finalització al final del cos del bucle, i si aquesta és certa continua amb la resta del programa, de vegades això resulta més adequat que el bucle While o el bucle For.

Sintaxi[modifica | modifica el codi]

La sintaxi en pseudocodi és la següent:


 {\color{Sepia}\mathit{fer}}

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

 {\color{Sepia}\mathit{fins \, que}}\;
 {\color{OliveGreen}\mathit{condici \acute{o}}}
El cos del bucle és el fragment de programa que serà repetit en cada iteració.
La condició és una variable o una funció reduïble a valor booleà.

En llenguatges de programació[modifica | modifica el codi]

En alguns llenguatges de programació s'escriu:

Do
 ...
 ...

Loop While (condició)

Aquesta estructura de control sempre permet l'execució del cos del bucle si més no una vegada, i el finalitza quan la condició és certa.

Exemples[modifica | modifica el codi]

Una situació típica en què resulta còmode l'ús d'aquesta sentència és la que es produeix quan en finalitzar cada iteració es pregunta a l'operador si vol continuar amb una altra nova. En aquests casos, el programa sempre realitza la primera iteració i segons la condició de sortida la repeteix. Un altre cas també típic són els filtres d'entrada de dades, on es comprova si el valor de l'entrada està en un rang de valors.

Admet un nombre del 3 al 7, si no pregunta de nou
 do {
 printf ("Escriu el nombre");
 scanf ("%c", &nombre)
 } while (nombre> = 3) && (nombre <= 7)

Reemplaçable en gairebé tots els casos[modifica | modifica el codi]

Dins de la programació estructurada, el bucle Do-while pot ser substituït per un bucle bucle While, de la manera:

 Fer
 (Cos del bucle)
 Mentre (condició)

Es pot escriure

 (Cos del bucle)
 Fer NO (condició)
 (Cos del bucle)
 fine Fer

Aquests dos fragments de codi són equivalents, perquè tots dos presenten el mateix resultat en la majoria dels casos. De tota manera, el bucle Do-while és útil quan es volen fer les accions que estan dins del bucle almenys en una ocasió.

Vegeu també[modifica | modifica el codi]