Przeczytaj
Jak działa algorytm iteracyjny?
Mechanizm algorytmów iteracyjnychiteracyjnych jest oparty na powtarzaniu pewnych operacji. Odbywa się to na dwa podstawowe sposoby:
powtarzanie operacji z góry określoną liczbę razy,
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 i podaje użytkownik,
wypisanie podanego tekstu dokładnie razy, gdzie 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.
![Ilustracja przedstawia schemat blokowy. 1: Zielony okrąg Strat. 2: Różowy prostokąt licznik = 1. 3: Niebieski romb licznik mniejszy równy 10. Dla fałsz w kroku 3, 4: Czerwony okrąg Stop. Dla prawdy w kroku 3, 4: Fioletowy równoległobok wypisz (licznik). 5: Różowy prostokąt licznik = licznik + 1. 6. krok 3.](https://static.zpe.gov.pl/portal/f/res-minimized/R18qYOTPB7m8a/1665413360/hqT7JcRpkxDKzWWD6cQW3WFuveczncME.png)
W schematach blokowych wszelkie operacje na zmiennychzmiennych zapisywane są w blokach o kształcie prostokątów.
Przeanalizujmy ten algorytm:
Ustawiamy wartość zmiennej
licznik
na .Sprawdzamy, czy wartość zmiennej
licznik
jest mniejsza bądź równa .Jeśli tak, wypisujemy zmienną
licznik
, a następnie zwiększamy jej wartość o i ponownie sprawdzamy warunek z punktu .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.
Najpierw należy przypisać zmiennej
czas
wartość początkową – czyli (liczymy czas w minutach).
![Ilustracja przedstawia schemat blokowy. 1: Zielony okrąg Start. 2: Błękitny prostokąt czas=90.](https://static.zpe.gov.pl/portal/f/res-minimized/R1O0xyXFWfYjy/1665413360/1Qw9wdmNhXQ8IkiOZLD9YUkzGoOw3Yrw.png)
Sprawdzamy, czy wartość zmiennej
czas
jest większa niż .
![Ilustracja przedstawia schemat blokowy. 1: Zielony okrąg Start. 2: Błękitny prostokąt czas=90. 3: Niebieski romb czas większy od 0.](https://static.zpe.gov.pl/portal/f/res-minimized/RYA6AKi9nVtvU/1665413360/1fK4t6HSiv72ory47rsMzVuduyboiOWo.png)
Jeśli tak, wyświetlamy informację, ile czasu pozostało studentom. Następnie zmniejszamy wartość zmiennej
czas
o i ponownie sprawdzamy, czy jest ona nadal większa od .
![Ilustracja przedstawia schemat blokowy. 1: Zielony okrąg Start. 2: Błękitny prostokąt czas=90. 3: Niebieski romb czas większy od 0. Dla prawdy w kroku 3, 4: Fioletowy równoległobok wypisz na ekranie (czas). 5: Błekitny prostokąt czas= czas‑1. 6. krok 3.](https://static.zpe.gov.pl/portal/f/res-minimized/Rkn5w5VJVuGcP/1665413361/165BZqqU8LiwEthwXGbOEiPyw9mqprxN.png)
Jeśli czas już upłynął (wartość zmiennej
czas
jest równa ), wypisujemy komunikat o zakończeniu egzaminu oraz kończymy pracę z algorytmem.
![Ilustracja przedstawia schemat blokowy. 1: Zielony okrąg Start. 2: Błękitny prostokąt czas=90. 3: Niebieski romb czas większy od 0. Dla fałsz w kroku 3, 4. Fioletowy równoległobok Wypisz na ekranie " czas się skończył". 5: Błękitny prostokąt Stop. Dla prawdy w kroku 3, 4: Fioletowy równoległobok wypisz na ekranie (czas). 5: Błękitny prostokąt czas= czas‑1. 6. krok 3.](https://static.zpe.gov.pl/portal/f/res-minimized/R9DsWkqHHQADQ/1665413361/WLVb8a6jWThwA9TIOvsz5s73WNl8T2B9.png)
Słownik
powtarzanie tej samej operacji z góry określoną liczbę razy lub do momentu spełnienia określonego warunku
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