|
Kurs języka C++
Podstawy - instrukcje sterujące |
||
| MENU GŁÓWNE |
Pętla While i Do ... While
Pętla jak sama nazwa mówi to zapętlona funkcja, czyli wykonująca się w kółko. Zajmiemy się dwiema: While i Do ... While. Na kolejnej lekcji przybliżę wam pętle for()
Powyższy program będzie w kółko wypisywał „Napis wypisywany wiele razy„. Już tłumaczę dlaczego: Na początek deklarujemy sobie zmienną a jako typ int i przypisujemy jej wartość równą 10. Następnie rozpoczynamy pętle przy pomocy while(). W nawiasie ma znaleźć się warunek – jeżeli zostanie on spełniony (czyli zwróci programowi wartość true) pętla zadziała, jeśli nie – pętla zostanie pominięta. Zapętlone będzie wszystko co znajdzie się w bloku pętli czyli między { i } . w moim przypadku pętla zadziała ponieważ jej warunek (a jest równe 10) jest prawdziwy – sam wcześniej przypisałem zmiennej a wartość 10.
W powyższym przykładzie pętla nigdy się nie skończy. Można jednak określić ile razy ma być zapętlona określona funkcja. Tym razem warunek się zmienił: pętla się wykona jeżeli a będzie większe od 0. Na początku a=10 wiec pętla wyświetli napis i napotyka dekrementację a–; czyli instrukcję, która zmniejsza naszą zmienną dokładnie o 1. Teraz, po dekrementacji, a wynosi 9. Wszystko dzieje się w pętli więc wykonuje się od nowa – znowu sprawdzany jest warunek – czy a>0, 9 jest większe od 0 więc znowu wyświetla się napis i znowu następuje dekrementacja, po której a wynosi już tylko 8. I znowu i tak w kółko. W końcu za dziesiątym razem a po dekrementacji będzie wynosiło 0, czyli gdy będzie miała zacząć się pętla warunek nie zostanie spełniony – zero nie jest większe od zera. I pętla się zakończy. Innym typem pętli, bliźniaczo podobnej, jest while..do. Różni się ona tym, że najpierw zostanie wykonany blok w pętli a dopiero później sprawdzony warunek – jeśli prawdziwy blok znów zostanie wykonany jeżeli nie pominięty. Przykład:
I jak myślicie zapętli się czy nie? Oczywiście, że nie. Wyświetli raz „Napis” sprawdzi warunek (a ma być większe od 10, wcześniej przypisaliśmy a wartość 10 a przecież 10>10 to fałsz) i zakończy pętlę. Skorzystajmy jednak z negacji:
a zapętlimy wyświetlanie napisu. Podobnie jak z pętlą while() możemy określić liczbę zapętleń w sposób analogiczny.
To wszystko :). |
|
| Strona stworzona przez Jana Gulińskiego wyślij do mnie mail | ||