Wprowadzenie
Niniejszy rozdział w kontekście tego co już wiesz (a przynajmniej powinieneś wiedzieć) będzie dla Ciebie niczym innym jak formalnością. Wiesz już bowiem czym są pętle, jak się ich używa oraz jakie mają one zastosowanie w programowaniu. Aby jednak formalnie domknąć podstawy związane z pętlami, wymagane jest omówienie trzeciego rodzaju pętli tj. pętli
while
.
Składnia
Jak zwykle dobrym punktem wyjściowym jest zapoznanie się ze składnią nowo poznawanych rzeczy, czyli w tym wypadku ze składnią pętli
while
. Oto ona:
lub tradycyjnie:
while( )
jedna_instrukcja();
Dopóki warunek jest spełniony (czyli wartość logiczna wynosi
true) dopóty pętla będzie powtarzała instrukcję (lub blok instrukcji) występujący bezpośrednio po słowie kluczowym
while.
Blok instrukcji umieszczony w pętli
while może się więc nie wykonać
ani razu jeżeli wartość logiczna warunku przy pierwszym wejściu w pętlę będzie fałszywa. Jest to kluczowa, a zarazem jedyna różnica pętli
while od pętli
do ... while.
Przykład
Tradycyjnie po krótkim wprowadzeniu teoretycznym, czas na przykład jego analizę. Oto przykład zastosowania pętli
while
:
#include <iostream>
void odliczanie( int iStart )
{
while( iStart >= 0 )
{
std::cout << iStart << ", ";
--iStart;
}
std::cout << "Booom! :)" << std::endl;
}
int main()
{
odliczanie( 10 );
odliczanie( - 100 );
odliczanie( 5 );
return 0;
}
Standardowe wyjście programu:
10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, Booom! :)
Booom! :)
5, 4, 3, 2, 1, 0, Booom! :)
Przykład jak widać jest prosty, a wręcz trywialny. Program nic mądrego nie robi ale najważniejsze, że pokazuje jak działa pętla
while. Zgodnie z tym co zostało wcześniej napisane, pętla wykonywała się dopóki warunek
iStart >= 0
był spełniony.
Praktyczne zastosowanie pętli while
Pętlę
while w praktyce stosuje się zawsze tam, gdzie mamy potrzebę przetwarzania nieokreślonej liczby danych. Przykłady:
Podsumowanie
Pętla
while nie jest w niczym lepsza od wcześniej poznanych pętli. W praktyce więc, można sprawnie pisać swoje aplikacje nie używając wspomnianej pętli. Pamiętaj jednak, że różnorodność narzędzi pozwala pisać programiście kod krótszy i czytelniejszy, do czego mimo wszystko powinieneś dążyć.
Zadanie domowe