Powrót do C#

pętla while, do-while

Były już instrukcje, przyszedł teraz czas na pętle. Pętle różnią się od instrukcji tym, że instrukcje sprawdzają warunek i podejmują działanie, pętle działają jeśli warunek jest spełniony spełniony, opuszczamy pętle dopiero gdy warunek nie zostanie spełniony. Omówimy sobie pętle while… i pętle do…while… .

 
 

Podstawowa różnica jest taka, że do-while, najpierw wykonuje instrukcję, a potem sprawdza warunek, natomiast while najpierw sprawdza warunek, następnie wykonuje instrukcję (jeśli jest spełniony).

W powyższym kodzie warunkiem jest (x == 0), w pierwszej pętli, najpierw wyświetlony jest tekst, a następnie sprawdzany warunek (1 == 0), który jest fałszywy, powoduje to wyjście z pętli. W drugiej pętli najpierw sprawdzany jest warunek (1 == 0) który jest fałszywy, więc instrukcja nie jest wykonana, a konsekwencją jest wyjście z pętli. W pętlach szeroko wykorzystywane są operatory przyrostów. Automatycznie zwiększają wartość zmiennej warunku:

Taki zabieg powoduje kontynuowanie pętli do momentu spełnienia warunku. Niestety zła konstrukcja warunku, może spowodować zapętlenie, nasza pętla nie zostanie nigdy opuszczona i program będzie powtarzał instrukcję do momentu wyłączenia programu. Pętle można opuścić, również wykorzystując słowo klucz „break”.

Pętla działa identycznie jak poprzednia, warunek „} while (true);” gwarantuje, że zawsze będzie spełniony. Momentem wyjścia z pętli jest spełnienie warunku instrukcji if (if (x == 0) break;) i użycie klucza break do jej zatrzymania i wyjścia. Do wyjścia z pętli możemy również wykorzystać skok i etykietę:

Efekt będzie identyczny, zalecam jednak, abyście korzystali z pierwszej metody konstrukcji pętli. Nie każdy język programowania wykorzystuje „goto” i nie każdy musi korzystać z etykiet, ale pętle do..while… i while…do… zawiera każdy język programowania. Dlatego warto, jest tak konstruować warunki, aby nie wyskakiwać z pędzącej pętli (jeśli się da). Poniższy kod zmusza użytkownika do wpisania imienia:

Powyższy kod powtarza się ,dopóki użytkownik czegoś nie wpisze, niekoniecznie musi to być imię, ponieważ sprawdzenie, czy jest to imię, wymagałoby połączenia większej ilości instrukcji sprawdzających wpisany tekst.


 

 

 

Permalink do tego artykułu: https://visualmonsters.cba.pl/c/petla-while-do-while/