Els bucles són una estructura de control fonamental en la programació que permet repetir un bloc de codi diverses vegades. En C++, hi ha diversos tipus de bucles que podem utilitzar segons les necessitats del nostre programa. En aquesta secció, explorarem els següents tipus de bucles:
- Bucle
for
- Bucle
while
- Bucle
do-while
- Bucle
for
for
El bucle for
és ideal quan sabem per endavant quantes vegades volem repetir un bloc de codi. La seva sintaxi és la següent:
Exemple:
#include <iostream> using namespace std; int main() { for (int i = 0; i < 5; i++) { cout << "Iteració: " << i << endl; } return 0; }
Explicació:
- Inicialització:
int i = 0
inicialitza la variablei
a 0. - Condició:
i < 5
és la condició que es verifica abans de cada iteració. Si és certa, el bucle continua; si és falsa, el bucle s'atura. - Increment:
i++
incrementa la variablei
en 1 després de cada iteració.
- Bucle
while
while
El bucle while
repeteix un bloc de codi mentre una condició sigui certa. És útil quan no sabem exactament quantes vegades es repetirà el bucle.
Sintaxi:
Exemple:
#include <iostream> using namespace std; int main() { int i = 0; while (i < 5) { cout << "Iteració: " << i << endl; i++; } return 0; }
Explicació:
- Condició:
i < 5
és la condició que es verifica abans de cada iteració. Si és certa, el bucle continua; si és falsa, el bucle s'atura. - Increment:
i++
incrementa la variablei
en 1 després de cada iteració.
- Bucle
do-while
do-while
El bucle do-while
és similar al while
, però la condició es verifica després de cada iteració. Això garanteix que el bloc de codi s'executi almenys una vegada.
Sintaxi:
Exemple:
#include <iostream> using namespace std; int main() { int i = 0; do { cout << "Iteració: " << i << endl; i++; } while (i < 5); return 0; }
Explicació:
- Bloc de codi: El bloc de codi dins del
do
s'executa primer. - Condició:
i < 5
és la condició que es verifica després de cada iteració. Si és certa, el bucle continua; si és falsa, el bucle s'atura.
Exercicis Pràctics
Exercici 1: Bucle for
Escriu un programa que imprimeixi els nombres del 1 al 10 utilitzant un bucle for
.
Solució:
#include <iostream> using namespace std; int main() { for (int i = 1; i <= 10; i++) { cout << i << " "; } return 0; }
Exercici 2: Bucle while
Escriu un programa que sumi els nombres del 1 al 10 utilitzant un bucle while
.
Solució:
#include <iostream> using namespace std; int main() { int i = 1; int suma = 0; while (i <= 10) { suma += i; i++; } cout << "La suma és: " << suma << endl; return 0; }
Exercici 3: Bucle do-while
Escriu un programa que demani a l'usuari un nombre positiu i continuï demanant fins que l'usuari introdueixi un nombre positiu utilitzant un bucle do-while
.
Solució:
#include <iostream> using namespace std; int main() { int nombre; do { cout << "Introdueix un nombre positiu: "; cin >> nombre; } while (nombre <= 0); cout << "Has introduït: " << nombre << endl; return 0; }
Errors Comuns i Consells
- Oblidar l'increment en un bucle
for
owhile
: Això pot causar un bucle infinit. - Condicions incorrectes: Assegura't que la condició del bucle es pot complir i que eventualment esdevindrà falsa.
- Utilitzar el bucle incorrecte: Tria el tipus de bucle que millor s'adapti a les teves necessitats. Per exemple, utilitza
for
quan saps el nombre d'iteracions iwhile
odo-while
quan no ho saps.
Conclusió
Els bucles són una eina poderosa en la programació que permeten repetir blocs de codi de manera eficient. Hem vist com utilitzar els bucles for
, while
i do-while
en C++ i hem practicat amb alguns exercicis. Amb aquesta base, estàs preparat per abordar problemes més complexos que requereixin iteracions. En el següent tema, explorarem l'ús de la sentència switch case
per gestionar múltiples condicions de manera eficient.
Curs de Programació en C++
Mòdul 1: Introducció al C++
- Introducció al C++
- Configuració de l'Entorn de Desenvolupament
- Sintaxi i Estructura Bàsica
- Variables i Tipus de Dades
- Entrada i Sortida
Mòdul 2: Estructures de Control
Mòdul 3: Funcions
- Introducció a les Funcions
- Paràmetres de Funció i Tipus de Retorn
- Sobrecàrrega de Funcions
- Recursivitat
Mòdul 4: Arrays i Strings
Mòdul 5: Punteres i Referències
- Introducció als Punteres
- Aritmètica de Punteres
- Punteres i Arrays
- Referències
- Assignació Dinàmica de Memòria
Mòdul 6: Programació Orientada a Objectes
- Introducció a la POO
- Classes i Objectes
- Constructors i Destructors
- Herència
- Polimorfisme
- Encapsulació i Abstracció
Mòdul 7: Temes Avançats
- Plantilles
- Gestió d'Excepcions
- Entrada/Sortida de Fitxers
- Biblioteca de Plantilles Estàndard (STL)
- Expressions Lambda
- Multifil