Kirjautuminen

Haku

Tehtävät

Joulukalenteri 2009: Logo

Kirjoittaja: Antti Laaksonen (06.12.2009)

Logo on ohjelmoinnin opetukseen suunniteltu ohjelmointikieli, joka kehitettiin 1960-luvun lopussa. Logolla voi ohjelmoida tekstiä ja lukuja käsitteleviä ohjelmia sekä graafisia ohjelmia.

Logo-ohjelmoinnin ajattelutapa on lähellä Lisp-kieltä ja siten myös luukussa 3 esiteltyä Scheme-kieltä. Monelle tuttu Logon yksityiskohta on ruudulla liikkuva kilpikonna, jonka avulla ohjelmoija pystyy piirtämään grafiikkaa.

Logosta on olemassa suuri määrä hieman erilaisia toteutuksia. Seuraavat esimerkit voi suorittaa sellaisenaan ainakin UCBLogo-toteutuksessa.

Esimerkki: Tekstin tulostus

Seuraava ohjelma tulostaa rivin tekstiä:

PRINT [Hauskaa joulua!]

Tässä komento PRINT tulostaa sanat, jotka ovat listassa hakasulkujen sisällä.

Esimerkki: Fibonaccin luvut

Seuraava ohjelma tulostaa Fibonaccin lukuja:

TO FIBOLISTA :A :B
IF :A < 100 [PRINT :A FIBOLISTA :B :A + :B]
END

FIBOLISTA 0 1

Ohjelman tulostus on seuraava:

0
1
1
2
3
5
8
13
21
34
55
89

Aliohjelma FIBOLISTA saa kaksi parametria, jotka tarkoittavat kahta peräkkäistä Fibonaccin lukua. Jos ensimmäinen luku on alle 100, aliohjelma tulostaa sen ja kutsuu itseään uudestaan yhtä suuremmilla Fibonaccin luvuilla. Kun aliohjelmalle annetaan parametrit 0 ja 1, saadaan selville kaikki Fibonaccin luvut, jotka ovat alle 100.

Esimerkki: Kilpikonna

Logossa voi piirtää grafiikkaa liikkuvan kilpikonnan avulla. Seuraava ohjelma piirtää viisisakaraisen tähden:

REPEAT 5 [FORWARD 100 RIGHT 144]

Ohjelma tuottaa seuraavan kuvan:

Ohjelma toistaa viisi kertaa komentosarjan, jossa kilpikonna (kuvion alakulmassa oleva kolmio) liikkuu ensin 100 askelta eteenpäin ja kääntyy sitten 144 astetta oikealle. Liikkuvan kilpikonnan jälkeen jää viivoja, jotka muodostavat halutun tähtikuvion.

Hauska tietää

Kilpikonnasta on tehty myös robotteja, joista yksi on MIT:n museossa.

Linkkejä

Tietoa sivustosta