Jak działa algorytm iteracyjny?

Mechanizm algorytmów iteracyjnychiteracjaiteracyjnych jest oparty na powtarzaniu pewnych operacji. Odbywa się to na dwa podstawowe sposoby:

  1. powtarzanie operacji z góry określoną liczbę razy,

  2. powtarzanie operacji do momentu spełnienia pewnego warunku.

Oto przykładowe zastosowania algorytmów iteracyjnych:

  • wypisanie liczb o określonych właściwościach z przedziału , gdzie wartości a i b podaje użytkownik,

  • wypisanie podanego tekstu dokładnie n razy, gdzie n podaje użytkownik,

  • zmniejszanie ilości pozostałego czasu, aż do jego wyczerpania,

  • powtarzanie prośby o udzielenie odpowiedzi do momentu, w którym użytkownik poda odpowiedź poprawną.

Prezentowanie algorytmu iteracyjnego za pomocą schematu blokowego

Jak wygląda graficzny zapis iteracji w algorytmie? Posłużymy się przykładem:

Przyjmijmy, że chcemy wypisać wszystkie liczby naturalne z przedziału od do włącznie.

R18qYOTPB7m8a1
Źródło: Contentplus.pl sp. z o.o., licencja: CC BY-SA 3.0.
Ważne!

W schematach blokowych wszelkie operacje na zmiennychzmiennazmiennych zapisywane są w blokach o kształcie prostokątów.

Przeanalizujmy ten algorytm:

  1. Ustawiamy wartość zmiennej licznik na .

  2. Sprawdzamy, czy wartość zmiennej licznik jest mniejsza bądź równa .

  3. Jeśli tak, wypisujemy zmienną licznik, a następnie zwiększamy jej wartość o  i ponownie sprawdzamy warunek z punktu .

  4. Jeżeli wartość zmiennej licznik jest większa od , kończymy wykonywanie algorytmu.

Przykład: tworzenie algorytmu iteracyjnego krok po kroku

Napiszmy algorytm, który pozwoli sprawdzić, ile czasu zostało studentom do zakończenia egzaminu. Zakładamy, że egzamin trwa minut.

  1. Najpierw należy przypisać zmiennej czas wartość początkową – czyli (liczymy czas w minutach).

R1O0xyXFWfYjy1
Źródło: Contentplus.pl sp. z o.o., licencja: CC BY-SA 3.0.
  1. Sprawdzamy, czy wartość zmiennej czas jest większa niż .

RYA6AKi9nVtvU1
Źródło: Contentplus.pl sp. z o.o., licencja: CC BY-SA 3.0.
  1. Jeśli tak, wyświetlamy informację, ile czasu pozostało studentom. Następnie zmniejszamy wartość zmiennej czas i ponownie sprawdzamy, czy jest ona nadal większa od .

Rkn5w5VJVuGcP1
Źródło: Contentplus.pl sp. z o.o., licencja: CC BY-SA 3.0.
  1. Jeśli czas już upłynął (wartość zmiennej czas jest równa ), wypisujemy komunikat o zakończeniu egzaminu oraz kończymy pracę z algorytmem.

R9DsWkqHHQADQ1
Źródło: Contentplus.pl sp. z o.o., licencja: CC BY-SA 3.0.

Słownik

iteracja
iteracja

powtarzanie tej samej operacji z góry określoną liczbę razy lub do momentu spełnienia określonego warunku

zmienna
zmienna

element języka programowania mający nazwę, wartość oraz miejsce w pamięci komputera, w którym zapisana jest wartość zmiennej; do zmiennej można odwoływać się za pomocą nazwy