Podręcznik
3. Pętle while
W trakcie projektowania oraz implementacji aplikacji często pojawia się potrzeba powtarzania grupy tych samych instrukcji. W tym przypadku konieczne jest zastosowanie pętli. W języku C++ istnieje do wyboru kilka rodzajów pętli, które są bardziej odpowiednie w różnych zadaniach. Pętle są więc instrukcjami iteracyjnymi, pozwalającymi na cykliczne wykonywanie kolejnych iteracji (cykli).
Każda pętla składa się z dwóch części:
Możemy zaobserwować, że w przypadku pętli while warunek jest sprawdzany na początku. Może więc się zdarzyć, że pętla nie zostanie wywołana ani razu, bo warunek już na początku nie będzie spełniony. Musimy więc zadbać o prawidłową wartość początkową zmiennych występujących w warunku. Możemy to zademonstrować na podstawie prostego przykładu wypisującego liczby całkowite podane przez użytkownika, aż do momentu gdy użytkownik poda wartość 0.
W podanym przykładzie ważna jest wartość początkowa zmiennej n. W przypadku, gdy chcemy, aby pętla wykonała się przynajmniej raz musimy określić wartość pocżatkową zmiennej
Każda pętla składa się z dwóch części:
- treści, czyli jednej bądź więcej instrukcji, które są wykonywane podczas każdego przejścia pętli,
- warunku, czyli wyrażenia logicznego, które steruje pracą pętli.
Wybierz wartość zmiennej n
i zobacz, jak działa pętla while
w C++ z animacją:
Składnia instrukcji while jest następująca:
while (warunek)
instrukcja;
while (warunek)
instrukcja;
Analogicznie jak w przypadku instrukcji warunkowej if w przypadku pętli while wykonuje się jedna instrukcja. Jeżeli chcemy, aby w pętli wykonywało się kilka instrukcji musimy zastosować nawiasy klamrowe { }
, aby uczynić z nich jedną instrukcję złożoną:
while (warunek)
{
instrukcja_1;
instrukcja_2;
...
instrukcja_n;
} ;
Poniżej przedstawiono prostą symulację pokazującą w jaki sposób działa pętla while.
int n = ...; // Aktualna wartość: ... while (n > 0) { cout << "n = " << n << endl; n--; }
int n = 1;
while (n!=0){
cin >> n;
cout << n;
}
n
w taki sposób, aby przynajmniej raz warunek był spełniony. Później już użytkownik bedzie podawał kolejne wartości n
i od niego zależy czy warunek będzie spełniony, czy nie.