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
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.