ALGORYTMIKA (34)


Ćwiczenia - procedury rekurencyjne

  1. Obliczanie silni w sposób rekurencyjny.
  2. Algorytm Euklidesa rekurencyjnie.
Ad 1.
Typowym rozwiązaniem rekurencyjnym może być obliczanie silni na podstawie iloczynu wartości silni poprzednika i wartości liczby. Zbudowanie programu w ELI nie powinno przysporzyć wiele kłopotu.

Ćwiczenie 1. Przygotuj program obliczjący silnię liczb od 0 do 10 i zapisujący wyniki do tablicy. Rozmiar: 15170 bajtów Rozmiar: 6921 bajtów
Ad 2.
Rozwiązanie iteracyjne znane jest nam z poprzednich lekcji. Wykorzystując analizę oraz opis zaczerpnięty ze strony producenta bez problemu przygotujesz rekurencyjną wersję algorytmu.

ALGORYTM EUKLIDESA REKURENCYJNIE

Algorytm Euklidesa przedstawiony rekurencyjnie powinien zawierać procedurę rekurencyjną, czyli taką w której będzie zawarte odwołanie do niej samej.

W algorytmie głównym czytane są dwie liczby: ab, dla których należy znaleźć NWD wywołując procedurę rekurencyjną Euklides z parametrami a i b oraz jest wprowadzany wynik.

Procedura Euklidesa realizuje algorytm rekurencyjny szukania NWD danych liczb. Procedura ta ma dwa parametry formalne (xy), którym w momencie wywołania przypisywane są aktualne wartości. Jeśli obie wprowadzone liczby są sobie równe, to dowolna z nich jest szukanym dzielnikiem. Jeżeli natomiast x nie jest równe y, to od większej z tych liczb odejmujemy mniejszą i wywołujemy tę samą procedurę dla nowej pary liczb.

Definicja procedury:
     Euklides:= Euklides (x,y)
     Warunek x<>y

     Jeśli TAK, to czy x>y; jeśli TAK, to
     Euklides:=Euklides (x-y,y); jeśli NIE, to
     Euklides:=Euklides (x,y-x); jeśli NIE, to
     Euklides:=x



Ćwiczenie 2. Przygotuj i zapisz jako NWD3.PRJ rozwiązanie obliczania NWD z wykorzystaniem rekurencji.

SPIS TREŚCI