Logo komeniusz procedura (piramida) warstwy każda oddzielnie z czasem.
Adam00098
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!
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ż