Odpowiedzi

Najlepsza Odpowiedź!
2010-03-30T10:17:54+02:00
Napisz procedurę piramida :n, która wywołana z parametrem narysuje piramidę o n rzędach, przy czym w pierwszym rzędzie będzie n kwadratów, natomiast w każdym kolejnym rzędzie będzie stopniowo o jeden kwadrat mniej. Najpierw musisz narysować kwadrat i ustawić się do rysowania kolejnego kwadratu. Czynność tę 4 powtarzasz razy.
W tym celu musisz wykonać następujące polecenia:
powtórz :n [powtórz 4 [np 50 pw 90] pw 90 np 50 lw 90]

Następnie wracasz do punktu początkowego:
pw 90 ws :n * 50 lw 90

Teraz ustawiasz się na miejscu rysowania kolejnej warstwy piramidy:

np 50 pw 90 np 25 lw 90
Nie pozostało Ci nic innego, niż wywołać całą procedurę rekurencyjnie:

piramida :n - 1

A oto i cała treśc procedury. Nie zapominaj o warunku przerwania pętli!

? 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 :n * 50 lw 90 np 50 pw 90 np 25 lw 90
? piramida :n - 1
? już
25 1 25