You are on page 1of 3

Assignatura: Informàtica

Curs 2022-23
[Pràctica 4-5]

PRÀCTICA 4-5: ESTRUCTURES DE CONTROL REPETITIVES

1 SENTÈNCIAS DE CONTROL REPETITIVES (O BUCLES).............................................................. 1


1.1 El bucle for és molt més versàtil .................................................................................................. 2
1.2 ¿Quan utilitzar un bucle o un altre? ............................................................................................. 2
1.3 Tècniques de control dels bucles: ................................................................................................ 2
1.4 Bucles niats ................................................................................................................................ 3
1.5 Qüestió d’estil ............................................................................................................................. 3

1 SENTÈNCIAS DE CONTROL REPETITIVES (O BUCLES)


Igual que les estructures selectives, el bucle trenca la seqüencialitat en l'execució de les instruccions, però a diferència
d'aquelles, trenca a més l'avanç cap endavant, tornant a executar un conjunt de sentències una i altra vegada.
Amb aquest tipus d'estructures podem executar una tasca repetides vegades, i fins i tot fer que cada nova volta no sigui
exactament igual a l'anterior, canviant alguns valors.
Quan finalitza el bucle, continua l'execució de la resta del programa.

• SENTÈNCIA while
Aquesta estructura repeteix el cos del bucle mentre siga vertadera una expressió condicional, per tant, executa un
conjunt de sentències zero o més vegades depenent del valor de l’expressió.
➢ Sintaxis: while ( expressió condicional )
{
Bloc de sentencias;
}
1. S’avalua l’expressió. Si el resultat és fals, acaba el bucle. Si és vertader continua al punt 2.
2. S’executa el bloc de sentències
3. Torna al punt 1.

• SENTENCIA do ... while


Es repeteix el cos del bucle mentre sigui veritable una expressió condicional, per tant, el bucle do ... while executa
un conjunt de sentències una o més vegades, depenent del valor d'una expressió condicional.
➢ Sintaxis: do
{
Bloc de sentencies;
}
while ( expressió condicional );
1. S’executa el bloc de sentències.
2. S’avalua l’expressió condicional. Si el resultat és fals, se n’eix del bucle. Si és vertader, es torna al punto 1.

• SENTENCIA for
S'utilitza quan es necessita executar repetidament una sentència o bloc de sentències, un nombre de vegades
conegut.

1/3
Assignatura: Informàtica
Curs 2022-23
[Pràctica 4-5]

Permet executar un bloc de sentències un nombre de vegades conegut, utilitzant un comptador que pren valors des
d'un valor inicial i que s'incrementa (o decrementa) el seu valor mentre sigui veritable una condició (comprovada
sobre el comptador).

➢ Sintaxis: for (iniciació_comptador; condició; progresió_comptador)


{
Bloc de sentencies del bucle;
}
1. S’inicia el comptador.
2. S’avalua l’expressió condicional. Si és falsa acaba el bucle. Si és vertadera, continua amb el pas 3.
3. S’executa el bloc de sentències.
4. S’actualitza el comptador.
5. Torna al pas 2.
1.1 El bucle for és molt més versàtil
El bucle for és molt flexible en quan al contingut de cadascun dels camps que engloben els parèntesis. Així, pot tenir
vàries expressions d’iniciació i vàries expressions de progressió. En aquest cas, aquestes expressions es separen
mitjançant comes.

➢ Sintaxi:
for ([v1=e1, v2=e2, ...]; [condició]; [progressió de les variables]
{
Bloc de sentències;
}
on: vi = ei: Representen els valores inicials que adquireixen les variables de control.
condició: Si és certa, s’executa el bloc de sentències.
progressió-condició: Com evolucionen les variables de control.

Per una altra banda, el bucle for admet que algun dels camps estiga buit, és a dir, que no existisca cap expressió
d’iniciació i/o cap expressió de condició i/o cap expressió de progressió. Inclòs, és possible un bucle for amb tots els
seus camps buits:
Sempre que falta l’expressió condicional, estem davant el cas d’un bucle infinit que s’executa indefinidament, a no ser
que dintre del bloc de sentències existisca una sentència de (break).

1.2 ¿Quan utilitzar un bucle o un altre?


• La sentència while es sol usar quan no es coneix el nombre d’iteracions del bucle, podent ser aquest major o
igual que 0.
• La sentència do…while es sol usar quan no es coneix el nombre d’iteracions del bucle, podent ser aquest
major o igual que 1.
• La sentència for es sol utilitzar quan es coneix exactament el nombre d’iteracions del bucle.

1.3 Tècniques de control dels bucles:


• Bucles controlats per indicadors (senyeres): S’usa una variable “senyera” de tipus bool, el valor de la qual
depèn de la terminació del bucle.
bool continuar;
continuar = true;
while (continuar)
{ …
if (condició per a acabar) continuar= false;
}

2/3
Assignatura: Informàtica
Curs 2022-23
[Pràctica 4-5]

• Bucles controlats per sentinella: En un procés d’introducció de dades, el sentinella és el valor que té la lectura
com a dada, indica la finalització del procés.
suma=0;
do
{
cout << “Introdueix números a sumar, 0 para acabar’’;
cin >> num;
if (num!=0) suma= suma + num;
} while (num!=0);
cout << suma;

1.4 Bucles niats


Com part del bloc de sentències que pertanyen al cos d’un bucle, es poden incloure altres bucles, que és el que
anomenem nidificació de bucles. Açò proporciona una major flexibilitat a l’hora de resoldre certs problemes.
1. S’avalua l’expressió condicional del bucle més extern i continua l’execució de la resta del programa. Si és vertadera
continua amb el pas 2
2. S’executa el bloc de sentències del bucle més extern. Entre aquestes, es trobarà el bucle més intern.
2.1. S’avalua l’expressió del bucle més intern. Si és falsa, eix del bucle intern i continua amb l’execució del
bucle extern, al pas 3. Si és vertadera continua al pas 2.2.
2.2. S’executa el bloc de sentències del bucle intern.
2.3. Torna al pas 2.1.
3. Torna al pas 1.
Es poden niar molts nivells i amb diferents tipus de bucles.

1.5 Qüestió d’estil


La nidificació de bucles provoca en els principiants un autèntic caos mental, degut sobretot per la anarquia amb la qual
s’escriu el codi. Per a fer més fàcil la comprensió i la lectura d’un programa amb bucles niats, es recomana a l’alumne
que el bloc de sentències dels bucles es situe a les columnes més interiors al de les claus, de tal manera que quede ben
clar on comença i on acaba cada bucle.

3/3

You might also like