X Portal Edux.pl używa plików cookie. Korzystając z naszych stron wyrażasz zgodę na ich stosowanie zgodnie z ustawieniami swojej przeglądarki. Więcej informacji » tutaj «.

Numer publikacji: 23689
Dział: Gimnazjum

Procedury rekurencyjne - karta pracy

Karta pracy Procedury rekurencyjne

Rekurencja jest to wywołanie podprogramu (procedury) samej przez siebie. W logo zapis rekurencji będzie wyglądał tak:

oto nazwa_funkcji
czynności_wykonywane_przez_procedurę
nazwa_funkcji
już

W zależności od zastosowania, często należy taką procedurę zaopatrzyć w mechanizm zatrzymania – gdyż w innym przypadku program mógłby sam się zapętlić na skutek niepoprawnego działania takiej procedury. Jako mechanizmu kontroli procedury rekurencyjnej stosuje się instrukcje warunkową z odpowiednio skonstruowanym warunkiem logicznym. Jest to komenda JEŚLI, która ma następującą składnię:

JEŚLI warunek_logiczny [procedury do wykonania jeśli prawda] [procedury do wykonania jeśli fałsz]

Jeśli pominiemy ostatni nawias, czyli warunek logiczny jest fałszem, wówczas procedura jest wykonywana dalej.

Ćwiczenie 1
Zredaguj procedurę spirala o następującej treści:

oto spirala :bok :kąt
jeśli :bok < 10 [stop]
np :bok pw :kąt
spirala :bok – 2 :kąt
już

Wywołaj ją z parametrami 200 i 122 oraz 250 i 135. Spróbuj znaleźć inne ciekawe kształty spirali wywołując ją wielokrotnie z różnymi parametrami.

Ćwiczenie 2
Zredaguj procedurę piramida o następującej treści:

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ż

Wywołaj tę procedurę z parametrami 1, 2, 3, 4.

Ćwiczenie 3
Zredaguj procedurę tarcza o następującej treści:
oto tarcza :n :s
jeśli :n = 0 [stop]
ukp jld
kropka :s
tarcza :n-1 0.8*:s
już

gdzie n - liczba kół tarczy, s - średnica największego koła. Wywołaj tę procedurę kilkukrotnie, najpierw z parametrami 10 400.

Ćwiczenie 4
Na podstawie procedury tarcza napisz procedurę pawie rysującą „pawie oczka”.

O nas | Reklama | Kontakt
Redakcja serwisu nie ponosi odpowiedzialności za treść publikacji, ogłoszeń oraz reklam.
Copyright © 2002-2017 Edux.pl
| Polityka prywatności | Wszystkie prawa zastrzeżone.
Prawa autorskie do publikacji posiadają autorzy tekstów.