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 ]