Przeczytaj
Pętla jest konstrukcją programistyczną, która umożliwia cykliczne wykonywanie ciągu instrukcji określoną liczbę razy, do momentu zajścia pewnych warunków, dla każdego elementu kolekcji lub w nieskończoność. Pętla for
, którą się zajmujemy, należy do grupy pętli iteratywnych. Istnieją jeszcze inne rodzaje pętli, m.in. warunkowe, jednak zostaną one omówione w innych rozdziałach.
Oznacza to, że pętla wykonuje instrukcje w niej zawarte ustaloną liczbę razy.
Przykład w pseudokodzie
Pętla for
zapisana w pseudokodzie:
W przedstawionym przykładzie pętla for
wykona się 100
razy, a przy każdej iteracjiiteracji wypisze wartość zmiennej i
. Kolejne wartości będą wyglądać następująco: 1 2 3 4 5 6 7 8 ... 100
Budowa pętli for
Zazwyczaj deklaracja pętli for
składa się z trzech elementów. Pierwszym z nich jest zmienna sterująca, używana w pętli for
jako licznik wykonanych do tej pory iteracji. Nazwa tej zmiennej jest dowolna, natomiast powszechnie przyjęta zasada sugeruje użycie litery i
. Dla kolejnych, zagnieżdżonych pętlizagnieżdżonych pętli używamy następnych liter alfabetu (i
, j
, k
...).
Zadaniem drugiej części pętli for
jest sprawdzenie, czy warunek wykonania pętli nadal jest spełniony. Jest to wyrażenie logiczne, które kontroluje, czy pętla wykonała się już określoną liczbę razy. Wyrażenie to jest sprawdzane przed każdą iteracją – jeżeli zwróci wartość logiczną false
, działanie pętli zostaje zakończone, a program wykonuje dalsze instrukcje.
Ostatnim elementem pętli jest modyfikacja wartości zmiennej sterującej: możemy w ten sposób określić, o ile wartość zmiennej sterującej ma się zmienić po każdej iteracji. Zazwyczaj wartość ta wynosi jeden. Gdy ustalimy, że zmienna ma być zwiększana o jeden z każdą iteracją, wówczas mówimy o inkrementacjiinkrementacji. W odwrotnym przypadku, gdy wartość zmiennej sterującej ulega zmniejszeniu o jeden, mamy do czynienia z dekrementacjądekrementacją.
Należy zawsze upewnić się, że warunek pozwalający programowi na wyjście z pętli jest możliwy do osiągnięcia. W przeciwnym wypadku pętla staje się pętlą nieskończonąpętlą nieskończoną i program – po natrafieniu na taką pętlę – może ulec zawieszeniu czy przerwaniu.
Zazwyczaj pętla for
z każdą iteracją dodaje jakąś wartość do zmiennej sterującej, aż ta osiągnie wartość wymaganą do opuszczenia pętli. Ponieważ jednak zmienna sterująca może zmieniać wartość o dowolną liczbę, możliwa jest sytuacja, w której wartość zmiennej jest zmniejszana z każdą iteracją – nasza pętla skończy działanie, gdy wartość zmiennej sterującej spadnie poniżej pewnej określonej liczby.
Pętla for
w praktyce
Aby lepiej zrozumieć działanie pętli for
, spróbujmy użyć jej w praktyce. Wyobraźmy sobie, że mamy zbiór 20
liczb całkowitych od 0
do 19
i musimy wypisać tylko te, których reszta z dzielenia przez 5
wynosi 0
. Zadanie to jest możliwe do rozwiązania w pamięci – zbiór rozwiązań będzie miał tylko cztery elementy. Kiedy jednak zwiększymy liczbę elementów w zbiorze do 2000
, ręczne szukanie wartości może okazać się bardzo czasochłonne. Dlatego też w celu rozwiązania przedstawionego problemu napiszemy algorytm w postaci pseudokodu:
Program sprawdza kolejne liczby z zakresu od 0
do 19
i bada, czy reszta z dzielenia przez 5
(operator mod
) każdej z liczb z tego zakresu jest równa 0
. Jeżeli tak jest, liczba ta zostaje wypisana.
Rozwiązanie to można również przedstawić w postaci schematu blokowego. Dzięki temu będzie wiadomo, co dzieje się w naszej pętli for
.
Spróbuj samodzielnie przeanalizować, co dzieje się na każdym etapie przetwarzania tego schematu blokowego. Na następnej stronie znajdziesz szczegółową analizę bardzo podobnego schematu blokowego pętli for
.
Słownik
pojedyncze wykonanie poleceń zawartych w pętli
zwiększenie wartości zmiennej o jeden
zmniejszenie wartości zmiennej o jeden
wywołanie pętli wewnątrz innej pętli
pętla, która nigdy nie zostanie zakończona, ponieważ warunek wyjścia z pętli nigdy nie zostaje spełniony