Ad 1.
Przykładowym wykorzystaniem pętli iteracyjnej jest przedstawiany niżej w umownym języku programowania algorytm Euklidesa (NWD).
START
CZYTAJ a
CZYTAJ b
DOPÓKI a<>b WYKONUJ
JEŚLI a>b TO
a:=a-b
PRZECIWNIE
b:=b-a
nwd:=a
PISZ nwd
STOPZapis w pseudojęzyku jest uproszczeniem i nie należy traktować go dosłownie przy programowaniu. Realnie instrukcje są przeważnie formułowane w jązyku angielskim np. BEGIN zamiast START, a oddzielone linie kończy zwykle znak separatora np. średnika. Dla przejrzystości kodu dobrze jest stosować wielkie litery dla słów kluczowych (instrukcji), jak też stosować wcięcia w celu zaznaczenia poziomu poleceń.
Ćwiczenie 1. Przygotuj projekt algorytmu NWD w ELI. Rozbuduj algorytm, zabezpieczając go przed dzieleniem przez 0. Zapisz plik jako NWD.PRJ.
Inną realizacją algorytmu Euklidesa jest obliczanie oparte o reszty z całkowitego dzielenia dzielenia (MOD). Poniżej cytuję jego zapis w pseudojęzyku:
START
CZYTAJ a
CZYTAJ b
DOPÓKI a>0 I b>0 WYKONUJ
JEŚLI a>b TO
a:=a MOD b
PRZECIWNIE
b:=b MOD a
nwd:=a+b
PISZ nwd
STOP
Ćwiczenie 2. Przygotuj projekt algorytmu NWD2 w ELI oparty drugie z rozwiązań. Zapisz plik jako NWD2.PRJ.
Zadanie domowe
Powtórz wiadomości na temat rekurencji.