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:

  1. Bucle for
  2. Bucle while
  3. Bucle do-while

  1. Bucle 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:

for (inicialització; condició; increment) {
    // Bloc de codi a repetir
}

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 variable i 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 variable i en 1 després de cada iteració.

  1. Bucle 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:

while (condició) {
    // Bloc de codi a repetir
}

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 variable i en 1 després de cada iteració.

  1. Bucle 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:

do {
    // Bloc de codi a repetir
} while (condició);

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

  1. Oblidar l'increment en un bucle for o while: Això pot causar un bucle infinit.
  2. Condicions incorrectes: Assegura't que la condició del bucle es pot complir i que eventualment esdevindrà falsa.
  3. 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 i while o do-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.

© Copyright 2024. Tots els drets reservats