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
licznikrozpoczyna się od 1. - Pętla działa, dopóki
licznik <= 5. - Po każdej iteracji
licznikjest 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
| Cecha | Pętla while | Pętla for |
|---|---|---|
| Liczba iteracji | Zwykle nieznana z góry | Zazwyczaj znana z góry |
| Składnia | Oddzielna inicjalizacja, warunek i krok | Zintegrowane w jednej linijce |
| Czytelność | Lepsza w przypadku warunków zależnych od danych zewnętrznych | Lepsza 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.