Ensimmäiset askeleet

Racketin ottaminen käyttöön

Tämän materiaalin ohjelmointiharjoitukset tehdään ohjelmassa DrRacket. Lataa omalle käyttöjärjestelmällesi sopiva versio Racketin sivuilta.

Kun DrRacket avataan ensimmäisen kerran, ohjelmointikieltä ei ole vielä valittuna. Tämän näkee alaosan punaisesta viestistä No language chosen. Kieli valitaan ylhäältä valikosta Language ‣ Choose language tai painamalla Ctrl-l. Klikkaa tekstiä Beginning Student ottaaksesi kielen käyttöön. Kun olet sulkenut kielivalintaikkunan, paina vielä lopuksi ylhäältä Run-nappulaa.

Samasta valikosta voit myös vaihtaa kieltä myöhemmin, mikäli harjoitus niin vaatii.

Arvot ja funktiot

DrRacketissä on kaksi erilaista aluetta. Yläosaan kirjoitetaan kaikki tallennettava ja alaosaan voi laittaa nopeita kokeiluja. Yläosan koodi suoritetaan vasta, kun yläällä olevaa Run-nappulaa painetaan. Alaosassa taas riittää, kun painaa Enter.

Kokeile kirjoittaa alaosaan:

42
1/3
0.3
"Moi!"
true
false

Voit myös liittää kuvia leikepöydältä suoraan DrRackettiin.

Vihje

Saat kopioitua kuvan webbisivulta leikepöydälle klikkaamalla kuvaa oikealla hiiren näppäimellä (mäkeillä pitää klikata Ctrl pohjassa) ja valitsemalla valikosta Kopioi kuva tai vastaava komento (komennon tarkka kirjoitusasu riippuu selaimesta).

DrRacketissä voi liittää kuvia klikkaamalla oikealla hiiren näppäimellä ja valitsemalla Paste, painamalla Ctrl+v (mäkeillä Cmd+v) tai valikoiden kautta Edit‣Paste.

_images/kitten.jpg

Nämä kaikki olivat arvoja. DrRacket antaa aina jokaisen komennon jälkeen takaisin lopputuloksen arvon, joka tässä tapauksessa on se mitä itse kirjoitit.

Kokeile seuraavaksi näitä komentoja:

(+ 1 2)
(/ 1 3)
(string-length "Moi")
(string-length "Heippa, kaikki!")
(= 10 10)
(> 1/3 0.5)

DrRacket ei enää anna takaisin täsmälleen samaa, vaan se laskee annetun komennon arvon. Ohjelmoinnissa tällasia komentoja sanotaan funktiokutsuiksi. Ne alkavat aina sululla, jonka jälkeen tulee funktion nimi. Seuraavaksi niille annetaan välilyönnillä toisistaan erotettuja argumentteja, eli jotain tietoja, joita funktio käyttää. Viimeisen argumentin jälkeen tulee sulkeva sulku.

Argumentit ovat yksinkertaisimmillaan suoraan kirjoitettuja arvoja. Mutta koska funktiokutsujen lopputulos on aina arvo, argumenteiksi voi laittaa myös muita funktiokutsuja, jopa saman funktion kutsuja! Esimerkiksi jakolaskufunktion argumenttina voi olla toinen jakolasku.

Muista

Saat apua kaikista funktioista laittamalla kursorin funktion nimen päälle ja painamalla F1. Myös osa nimestä riittää, jos et esimerkiksi muista funktion koko nimeä. Jos käytät kannettavaa tietokonetta, voi olla että joudut painamaan myös Fn-näppäintä saadaksesi F1:n.

Arvot ovat aina jotakin tyyppiä. Ylempänä olevat esimerkit olivat numeroita, merkkijonoja eli tekstiä, booleaneja eli loogisen päättelyn vastaus kyllä tai ei (tosi ja epätosi) ja kuvia. Huomaa, että numero 42 ja merkkijono "42" ovat eri asioita! Ensimmäinen on matemaattinen käsite, toinen kaksi merkkiä.

Funktioiden argumenttien pitää olla tiettyä tyyppiä. Esimerkiksi koska + käsittelee numeroita, mutta ei tiedä mitä tehdä tekstille, (+ 1 2) toimii, mutta (+ "1" "2") ei.

Rationaaliluvut voidaan ilmoittaa Racketissä kahdella lailla. Oletuksena DrRacket käyttää desimaalimuotoa, jonka toistuvan osuuden päälle piirretään viiva (eli Racket muistaa rationaaliluvut tarkasti). Samasta valikosta, mistä käytetty kieli valitaan, voi valita myös rationaalimuodon (Language ‣ Choose language ‣ Show details ‣ Fraction style ‣ Mixed fractions).