Page 52 - Oppimisymparistojulkaisu III
P. 52
50 Oppimis- ja toimintaympäristöjen kehittäminen III
Tunti 3: Ehdollisuus
Tutustutaan yhdessä pohtien ehtolauseiden käsitteeseen, lähtien taas liikkeelle mahdol-
lisimman yksinkertaisista ja konkreettisista tapauksista. Eräs esimerkki arkielämään liitty-
västä ehtolauseen sisältävästä ohjelmasta voisi olla ”JOS ulkona sataa: ota mukaan sateen-
varjo”.
Opittavia asioita voi tässäkin tapauksessa motivoida käytännön sovelluksilla. Ehtolausei-
den tärkeä hyöty sovellutuksissa on, että niillä voidaan hallita ennakoimattomia tilanteita.
Aiemmin totesimme, että jos robottia käskee ottamaan askeleen eteenpäin, se toteuttaa
käskyn, vaikka edessä olisi este. Voimme kuitenkin lisätä robotin ohjelmakoodiin ehtolau-
seen, jonka se toteuttaa vain törmätessään johonkin, esimerkiksi ”JOS törmäät johonkin:
käänny oikealle”. Näin robotti ei koskaan jää jumiin, vaikka ohjelmoija ei tietäisikään mah-
dollisten esteiden sijainteja.
Kuvassa 6 on esimerkki ohjelmakoodista, joka voidaan muodostaa oppilaiden kanssa yh-
teisesti pohtien, kun tarkoituksena on ohjelmoida oppilaan esittämä robotti kulkemaan
jatkuvasti ja jäämättä jumiin. Tässä ollaan jo oikeastaan aika pitkällä ohjelmoinnillisessa
ajattelussa, sillä haluttu käytännön toiminta on eritelty algoritmiksi, joka tässä tapauksessa
sisältää myös sisäkkäisyyttä. Ohjelmakoodin suorittamista on hyvä havainnollistaa hidas-
tetusti käsky kerrallaan: opettaja näyttää taululta, mikä koodin osa on suoritettavana, ja
robottia esittävä oppilas toimii kyseisen käskyn mukaan.
Lopputunnin aktiviteetteina olivat pareittain suoritettavat tehtäväkortit ja yleensä nimellä
”Väri” tunnettu perinteinen pihaleikki (kuva 9). Tehtäväkortteihin laadin toiminnallisia teh-
täviä, joissa hyödynnetään ehdollisuutta ja muita tähän asti opittuja ohjelmoinnin tietoja.
Väri-leikissä tarkoituksena on ohjata huomio siihen, että kyseessä on itse asiassa osallis-
tujien ohjelmointi puhtailla ehtolauseilla. Jos leikin johtaja huutaa, että ne, joilla on päällä
punaista, saavat ottaa kaksi askelta eteenpäin, hän oikeastaan antaa ehdollisen ohjelmoin-
tikäskyn: ”JOS päälläsi on punaista: ota kaksi askelta eteenpäin”. Leikin edetessä kannuste-
taan myös tekemään ehdoista monimutkaisempia logiikan avulla, esimerkiksi ”JOS päälläsi
on punaista JA paidassasi EI ole sinistä, ota askel eteenpäin”.
Toistosilmukkaa ja ehtolausetta hyödyntäen saadaan ohjelmoitua oppilaan esittämä ro-
botti kulkemaan luokassa ilman, että se jää koskaan jumiin. Tämäkin on oikeaa ohjelmoin-
tia, vaikka sitä ei ole tehty ohjelmointikielellä eikä siihen liity mitään tietoteknistä laitetta.
Kuva 6.
Toistosilmukka
ja ehtolause

