Procedury rekurencyjne to takie procedury, które same siebie wywołują. Aby tak się stało procedura rekurencyjna w języku Logo musi zostać zdefiniowana wg schematu:
Oto nazwa :parametr
warunek zatrzymania [stop]
treść procedury nierekurencyjna
wywołanie rekurencyjne
Już
Prześledźmy działanie procedury na przykładzie spirali.
Oto spirala :a
jeśli :a >= 250 [stop]
np :a pw 90
spirala :a + 5
Już
A jak to będzie w innym środowisku programistycznym?
Przykład układu bloczków w Scratch'u
Oto spiralatr :a
jeśli :a >= 250 [stop]
np :a pw 120
spiralatr :a + 5
Już
Oto spirala6 :a
jeśli :a >= 250 [stop]
np :a pw 60
spirala6 :a + 5
Już
Możesz poeksperymentować z kątem obrotu żółwia.
oto spirobok :bok :kąt
jeśli :bok < 10 [stop]
np :bok pw :kąt
spirobok :bok - 2 :kąt
już
Wywołaj procedurę z następującymi parametrami
spirobok 200 122
spirobok 200 135
A jak to będzie w Scratch'u?
Piramida
oto piramida :n
jeśli :n = 0 [stop]
powtórz :n [powtórz 4 [np 50 pw 90]pw 90 np 50 lw 90]
pw 90 ws 50 * :n lw 90 np 50 pw 90 np 25 lw 90
piramida :n - 1
już
Brak komentarzy:
Prześlij komentarz
Uwaga: tylko uczestnik tego bloga może przesyłać komentarze.