Kurs C++: Pętle i Iteracje

Pętla while to jedna z podstawowych konstrukcji iteracyjnych w C++. Umożliwia wykonywanie bloku kodu dopóki spełniony jest określony warunek. Jest szczególnie przydatna, gdy nie znamy z góry liczby iteracji.


1. Składnia pętli while

while (warunek) {
    // Kod wykonywany w pętli
}

🔹 warunek – jest to wyrażenie logiczne (np. x < 10).
🔹 Jeśli warunek jest prawdziwy (true), kod w pętli zostanie wykonany.
🔹 Jeśli warunek jest fałszywy (false), pętla zostaje zakończona.

Przykład podstawowy – liczenie od 1 do 5

#include <iostream>
using namespace std;

int main() {
    int licznik = 1;

    while (licznik <= 5) {
        cout << "Licznik: " << licznik << endl;
        licznik++;
    }

    return 0;
}

Wynik:

Licznik: 1  
Licznik: 2  
Licznik: 3  
Licznik: 4  
Licznik: 5  

🔍 Jak to działa?

  • Zmienna licznik rozpoczyna się od 1.
  • Pętla działa, dopóki licznik <= 5.
  • Po każdej iteracji licznik jest zwiększany o 1.

3. Pętla while z warunkiem wprowadzanym przez użytkownika

Pętla while świetnie sprawdza się w sytuacjach, gdy nie wiadomo z góry, ile razy użytkownik będzie chciał powtórzyć operację.

#include <iostream>
using namespace std;

int main() {
    int liczba;

    cout << "Podaj liczbę większą od zera: ";
    cin >> liczba;

    while (liczba <= 0) {
        cout << "Błędna liczba! Podaj liczbę większą od zera: ";
        cin >> liczba;
    }

    cout << "Podałeś poprawną liczbę: " << liczba << endl;

    return 0;
}

Przykładowy wynik:

Podaj liczbę większą od zera: -3  
Błędna liczba! Podaj liczbę większą od zera: 0  
Błędna liczba! Podaj liczbę większą od zera: 5  
Podałeś poprawną liczbę: 5  

4. Pętla while – przykład z sumowaniem

#include <iostream>
using namespace std;

int main() {
    int suma = 0, liczba = 0;

    while (liczba != -1) {
        cout << "Podaj liczbę (lub -1, aby zakończyć): ";
        cin >> liczba;

        if (liczba != -1) {
            suma += liczba;
        }
    }

    cout << "Suma podanych liczb: " << suma << endl;

    return 0;
}

Przykładowy wynik:

Podaj liczbę (lub -1, aby zakończyć): 3  
Podaj liczbę (lub -1, aby zakończyć): 7  
Podaj liczbę (lub -1, aby zakończyć): -1  
Suma podanych liczb: 10  

5. Pętla while nieskończona

Jeśli warunek w while zawsze pozostanie prawdziwy, pętla nigdy się nie zakończy. Przykład nieskończonej pętli:

#include <iostream>
using namespace std;

int main() {
    while (true) {
        cout << "To jest nieskończona pętla!" << endl;
    }
    return 0;
}

🟡 Aby przerwać taką pętlę, możesz użyć instrukcji break, np.:

#include <iostream>
using namespace std;

int main() {
    int licznik = 1;

    while (true) {
        cout << "Iteracja: " << licznik << endl;
        if (licznik == 5) {
            break;  // Przerwanie pętli, gdy licznik osiągnie 5
        }
        licznik++;
    }

    return 0;
}

Wynik:

Iteracja: 1  
Iteracja: 2  
Iteracja: 3  
Iteracja: 4  
Iteracja: 5  

6. Różnice między while a for

CechaPętla whilePętla for
Liczba iteracjiZwykle nieznana z góryZazwyczaj znana z góry
SkładniaOddzielna inicjalizacja, warunek i krokZintegrowane w jednej linijce
CzytelnośćLepsza w przypadku warunków zależnych od danych zewnętrznychLepsza dla prostych iteracji

7. Podsumowanie

✅ Pętla while jest idealna, gdy nie znamy z góry liczby iteracji.
✅ Wykonuje się tak długo, jak warunek jest prawdziwy.
✅ Warto dodać mechanizm przerwania pętli (break) w przypadku potencjalnych pętli nieskończonych.