15 października 2011 (sobota), 21:22:22

Programować każdy może... w LOGO też (#2)

Programować każdy może ...

To już któraś notka pokazująca moje zdolności w tej dziedzinie a za krzywe rekurencyjne (czasem zwane Krzywymi Hillberta, a czasem błędnie fraktalami) biorę się trzeci raz w życiu:

Pierwszy, po lekturze książki Wirtha "Algorytmy + struktury danych = programy" zapisałem to w C (chyba Turbo-C) a przełożenie z Pascala było bardzo łatwe.

Drugi raz chciałem sobie to przypomnieć koło 2000 roku i zapisałem to w VBA w Wordzie, bo to było jedyne narzędzie programistyczne dostępne na moim laptopie w jakąś bezsenną noc.

Dziś podejście trzecie - ściągnąłem LOGO na mojego Maca i taki oto jest efekt:

Nie są to Krzywe Hillberta ale jakaś rekurencja w nich jest! A samo LOGO - no cóż, mimo iż zrobiono to jako zabawkę dla dzieci programujący w PHP mogą nie zrozumieć tego języka mimo iż lekko zalatuje w nim już nadchodzący postmodernizm (logo to lata 80-te).

for kp :p :r [
if (:p = 1) [ forward :r ]
if (:p > 1) [
local :pp local :rr
set :pp difference :p 1 
set :rr quotient :r 4

kp :pp :rr right 90
kp :pp :rr left 90
kp :pp :rr left 90
kp :pp :rr 
kp :pp :rr right 90
kp :pp :rr right 90 
kp :pp :rr left 90
kp :pp :rr
]
]

for kw :p :r [ repeat 4 [kp :p :r right 90 ] ]

cleanall
setxy -150 -150
local :n set :n 1
repeat 4 [
kw :n 300
set :n sum :n 1
]

Kategorie: informatyka, _blog


Słowa kluczowe: logo, programowanie


Komentarze: (0)

Skomentuj notkę

Disclaimers :-) bo w stopce coś wyglądającego mądrze można napisać. Wszystkie powyższe notatki są moim © wymysłem i jako takie związane są ze mną. Ale są też materiały obce, które tu przechowuję lub cytuje ze względu na ich dobrą jakość, na inspiracje, bądź ilustracje prezentowanego lub omawianego tematu. Jeżeli coś narusza czyjeś prawa - proszę o sygnał abym mógł czym prędzej naprawić błąd i naruszeń zaniechać.