czwartek, 12 grudnia 2013

Rekurencja w logo

Rekurencja
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.