Pętle while – Powtarzanie kodu aż do spełnienia warunku

Kurs: Wstęp do programowania
Lekcja 2: Podstawy składni języka programowania
Temat 7: Pętle while: Powtarzanie kodu aż do spełnienia warunku

⇓ spis treści ⇓


Pętle while są jednym z fundamentalnych mechanizmów w programowaniu, które pozwalają na powtarzanie określonego bloku kodu tak długo, jak długo spełniony jest dany warunek logiczny. Pętle te są niezwykle przydatne w sytuacjach, gdy nie znamy z góry liczby iteracji i chcemy, aby kod wykonywał się dynamicznie w oparciu o zmieniające się okoliczności. W tej lekcji omówimy szczegółowo, jak działają pętle while, jakie są ich zastosowania oraz jak unikać pułapek związanych z ich używaniem.

Podstawowa składnia pętli while

Pętla while wykonuje się dopóty, dopóki warunek podany w nawiasach jest prawdziwy. Gdy warunek przestaje być spełniony, wykonywanie pętli zostaje przerwane, a program przechodzi do kolejnych instrukcji. Oto ogólna składnia pętli while:

Składnia w C++
while (warunek) {
    // Kod wykonywany w pętli
}
Składnia w Pythonie
while warunek:
    # Kod wykonywany w pętli

Przykłady pętli while

Przykład w C++: Prosta pętla while
int liczba = 0;
while (liczba < 5) {
    std::cout << "Liczba: " << liczba << std::endl;
    liczba++;  // Zwiększanie wartości zmiennej liczba
}

W powyższym przykładzie pętla while będzie się wykonywać tak długo, aż zmienna liczba osiągnie wartość 5. Za każdym razem, gdy pętla jest wykonywana, liczba zostaje zwiększona o 1.

Przykład w Pythonie: Prosta pętla while
liczba = 0
while liczba < 5:
    print("Liczba:", liczba)
    liczba += 1  # Zwiększanie wartości zmiennej liczba

Podobnie jak w C++, pętla while w Pythonie działa w taki sposób, że blok kodu jest wykonywany dopóty, dopóki warunek liczba < 5 jest prawdziwy.

Zastosowania pętli while

Pętle while są używane w różnych sytuacjach, w których liczba iteracji nie jest znana z góry. Przykładowo:

  • Oczekiwanie na określony stan (np. użytkownik wprowadzi poprawne dane).
  • Przetwarzanie danych wejściowych do momentu, gdy użytkownik zdecyduje się zakończyć.
  • Symulacje, które działają dopóki nie zostanie osiągnięty pożądany wynik.
Przykład: Oczekiwanie na poprawne hasło w C++
std::string haslo;
do {
    std::cout << "Podaj hasło: ";
    std::cin >> haslo;
} while (haslo != "tajnehaslo");
std::cout << "Hasło poprawne!" << std::endl;

W tym przypadku pętla while będzie prosić użytkownika o podanie hasła dopóki nie wpisze poprawnego hasła "tajnehaslo".

Przykład: Oczekiwanie na poprawne hasło w Pythonie
haslo = ""
while haslo != "tajnehaslo":
    haslo = input("Podaj hasło: ")
print("Hasło poprawne!")

Podobnie jak w przykładzie w C++, pętla while w Pythonie będzie się powtarzać aż użytkownik poda poprawne hasło.

Unikanie nieskończonych pętli

Jednym z najczęstszych problemów związanych z używaniem pętli while są nieskończone pętle. Dzieje się tak, gdy warunek nigdy nie staje się fałszywy, co powoduje, że program nigdy nie kończy wykonywania pętli. Aby tego uniknąć, należy upewnić się, że warunek w pętli while jest poprawnie zdefiniowany i zmienia się w trakcie działania pętli.

Przykład nieskończonej pętli w C++
int liczba = 0;
while (liczba < 5) {
    std::cout << "Liczba: " << liczba << std::endl;
    // Zapomniano zwiększyć wartość zmiennej liczba
}

W powyższym przykładzie zapomniano zwiększyć wartość liczba, co spowoduje nieskończoną pętlę.

Przykład nieskończonej pętli w Pythonie
liczba = 0
while liczba < 5:
    print("Liczba:", liczba)
    # Zapomniano zwiększyć wartość zmiennej liczba

Podobnie w Pythonie, brak modyfikacji zmiennej liczba prowadzi do nieskończonej pętli.

Dobre praktyki przy używaniu pętli while

  • Upewnij się, że warunek w pętli będzie kiedyś fałszywy, aby uniknąć nieskończonych pętli.
  • Staraj się stosować zmienne kontrolne, które są modyfikowane wewnątrz pętli.
  • Używaj pętli break w sytuacjach, gdy chcesz natychmiast przerwać wykonywanie pętli.
Przykład użycia instrukcji break w C++
int liczba = 0;
while (true) {
    std::cout << "Liczba: " << liczba << std::endl;
    liczba++;
    if (liczba >= 5) {
        break;  // Przerwanie pętli, gdy liczba osiągnie 5
    }
}
Przykład użycia instrukcji break w Pythonie
liczba = 0
while True:
    print("Liczba:", liczba)
    liczba += 1
    if liczba >= 5:
        break  # Przerwanie pętli, gdy liczba osiągnie 5

Podsumowanie

Pętle while są kluczowym narzędziem w programowaniu, umożliwiającym powtarzanie kodu aż do spełnienia określonego warunku. Zrozumienie, jak działają i jak unikać nieskończonych pętli, jest niezbędne do pisania efektywnego i bezpiecznego kodu. Pamiętaj o dobrych praktykach, aby Twój kod był czytelny i łatwy w utrzymaniu.

Następny temat ==> Pętle for: Iteracja z określoną liczbą powtórzeń



Spis Treści - Wstęp do programowania

Lekcja 3: Rozwiązywanie problemów i poprawność programów Lekcja 4: Praca z różnymi typami danych Lekcja 5: Obsługa plików i pamięci Lekcja 6: Zaawansowane techniki programistyczne Lekcja 7: Wskaźniki i pamięć dynamiczna Lekcja 8: Struktura kodu i abstrakcja Lekcja 9: Rekurencja i jej zastosowania Lekcja 10: Analiza wydajności algorytmów Lekcja 11: Technika "dziel i zwyciężaj" Lekcja 12: Struktury danych o dynamicznej budowie Lekcja 13: Struktury hierarchiczne: Drzewa Lekcja 14: Struktury danych z bibliotek Lekcja 15: Algorytmy z nawrotami Lekcja 16: Programowanie dynamiczne Lekcja 17: Programowanie zachłanne Lekcja 18: Praca z grafami

Jeśli chciałbyś być poinformowany o następnych kursach to zapisz się do naszego newslettera: