Różne sposoby (algorytmy) rysowania okręgów oto nkąt :n :bok

Transkrypt

Różne sposoby (algorytmy) rysowania okręgów oto nkąt :n :bok
Różne sposoby (algorytmy) rysowania okręgów
oto nkąt :n :bok
powtórz :n [np :bok pw 360 / :n]
już
oto okrąg0 :r
; miejsce geometryczne punktów równo odległych
;od środka
powtórz 360 [pod np :r opu np 1 pod ws ( :r + 1 ) opu
pw 1]
już
oto okrąg1 :r
; 1. w 36 kącie obwód wynosi 36 * :bok
; 2. obwód okęgu o promieniu :r wynosi 2 * pi * :r
; jeśli przyjmiemy, że 1. = 2., to :bok = pi * :r / 18
pw 5
powtórz 36 [np 3.14 * :r / 18 pw 10]
lw 5
już
oto okrąg2 :r
; z zależności trygonometrycznych okręgu opisanego
; na 36_kącie
pw 5
powtórz 36 [np 2 * :r * sin 5 pw 10]
lw 5
już
W Logomocji są pierwotne procedury okrąg
:średnica i koło :średnica
oto okręgi :który
; instrukcja warunkowa, instrukcja STOP
cs
; ct - czyść tekst ( u dołu ekranu )
Instrukcja
warunkowa
jeśli :który = 0 [ct pisz [To jest okrąg0] okrąg0 100
stop]
jeśli :który = 1 [ct pisz [To jest okrąg1] okrąg1 100
stop]
jeśli :który = 2 [ct pisz [To jest okrąg2] okrąg2 100
stop]
jeżeli :który = 3 [ct pisz [To jest okrąg z Logomocji]
okrąg 200]
[ct pisz [Zła dana. Może być liczbą całkowitą od 0 do
3.]
]
już
oto starter
; przyklad prezentacji w Logo
przyp "czas 5000
odnowa
ustalkoltła "żółty
podpisz -150 100 [Przykład automatycznej prezentacji
w Logo]
podpisz -90 50 [RYSOWANIE OKRĘGÓW]
podpisz -70 0 [Autor: HKR]
ps [Poczekaj chwilę]
Instrukcja przypisania:
sż
zmienna czas otrzymuje
czekaj :czas
wartość 5000
pż
;----------------------------------cs
okręgi 0 czekaj :czas
;----------------------------------cs
Wykorzystanie wartości
okręgi 1 czekaj :czas
;----------------------------------- zmiennej czas
cs
okręgi 2 czekaj :czas
;----------------------------------cs
okręgi 3 czekaj :czas
;----------------------------------cs
ugp 2
hop -200 0 ukp 4 okrąg0 50
ukp 0 podpisz -50 (-120) [To jest okrąg0]
hop 100 0 ukp 7 okrąg1 50
ukp 0 podpisz 0 ( - 120 ) [To jest okrąg1]
hop 150 0 ukp 11 okrąg2 50
ukp 0 podpisz 0 (-120) [To jest okrąg2]
hop 200 0 ukp 14 okrąg 100
ukp 0 podpisz -50 (-120) [To jest okrąg]
ugp 1
czekaj :czas
;----------------------------------odnowa sż
podpisz -40 0 [K O N I E C]
czekaj :czas
odnowa
już
Instrukcja warunkowa w Logo to:
1) Instrukcja jeśli, która ma postać:
jeśli warunek [ciąg instrukcji]
2) Instrukcja jeżeli, która ma postać:
jeżeli warunek [ciąg instrukcji1] [ciąg instrukcji 2]
Instrukcja stop powoduje zakończenie działania
procedury tak, jak już.
Procedura pierwotna czekaj milisekundy – czeka
milisekundy.
Instrukcja przypisania ma postać:
przyp "nazwa_zmiennej wartość_zmiennej