Pętle while i do...while pełnią podobną funkcję – wykonują blok kodu wielokrotnie na podstawie określonego warunku. Istnieją jednak kluczowe różnice, które wpływają na ich zastosowanie.
1. Podstawowa różnica – miejsce sprawdzania warunku
| Cecha | Pętla while | Pętla do...while |
|---|---|---|
| Położenie warunku | Sprawdzany na początku pętli | Sprawdzany na końcu pętli |
| Minimalna liczba wykonań | 0 razy – jeśli warunek od początku jest fałszywy | Co najmniej 1 raz – nawet jeśli warunek od początku jest fałszywy |
2. Składnia
Pętla while
while (warunek) {
// Kod wykonywany, gdy warunek jest prawdziwy
}
Pętla do...while
do {
// Kod wykonywany co najmniej raz
} while (warunek);
3. Przykład – Główna różnica w działaniu
Pętla while (może nie wykonać się ani razu)
#include <iostream>
using namespace std;
int main() {
int liczba = 10;
while (liczba < 5) {
cout << "To się nie wyświetli." << endl;
}
return 0;
}
Wynik: Brak komunikatu, ponieważ warunek (liczba < 5) jest fałszywy od początku.
Pętla do...while (zawsze wykona się co najmniej raz)
#include <iostream>
using namespace std;
int main() {
int liczba = 10;
do {
cout << "To się wyświetli choć raz." << endl;
} while (liczba < 5);
return 0;
}
Wynik:
To się wyświetli choć raz.
Pętla wykona się raz, mimo że warunek jest fałszywy.
4. Kiedy używać której pętli?
✅ Pętla while – gdy istnieje szansa, że blok kodu nie musi się wykonać wcale.
✅ Pętla do...while – gdy blok kodu musi się wykonać co najmniej raz (np. komunikat z prośbą o dane od użytkownika).
5. Przykłady zastosowania
| Zastosowanie | Pętla while | Pętla do...while |
|---|---|---|
| Pobieranie danych do momentu podania poprawnej wartości | ✅ Tak | ✅ Tak |
| Powtarzanie menu programu (np. „Czy chcesz kontynuować?”) | ❌ Nie zalecane | ✅ Idealne zastosowanie |
| Sprawdzanie warunku na początku pętli (np. liczenie elementów w tablicy) | ✅ Idealne zastosowanie | ❌ Nie zalecane |
6. Podsumowanie
while→ Gdy nie masz pewności, czy kod musi się wykonać.do...while→ Gdy chcesz, aby kod wykonał się co najmniej raz.