If, then, else // Jos, niin, muuten

Ehtolausekkeet ovat ohjelmoinnin perusasioita mutta myös erittäin monikäyttöisiä!


Kyse on siis jostain toiminnosta, mutta sen toteuttamiselle on asetettu ehto tai ehtoja.

  • Jos käy näin, niin tee näin. Muuten tee näin.

Englanniksi siis if, then, else.



Ehtolausekkeen idea on helppo ymmärtää ihan tavallisesta elämästä, esimerkiksi näin: 


  • Kävelet kadulla. Sääennuste on luvannut sadetta ja sinulla on sateenvarjo mukanasi. Olet määritellyt itsellesi ehtolausekkeen: Jos sataa, niin avaa sateenvarjo. Muuten, pidä sateenvarjo suljettuna.


Mutta eihän elämä ole aina näin yksinkertaista. On tilanteita, jolloin sateenvarjon käyttämisen järkevyyteen vaikuttavat myös muut olosuhteet, siis oikeastaan muuttujat. Muuttuja on jokin asia, jonka tila voi muuttua. *Duh?

Esimerkkitapauksessa sateen määrä on yksi muuttuja. Olennainen kysymys on, milloin sataa tarpeeksi, jotta sinun kannattaa avata sateenvarjo? Millaisia arvoja tämä muuttuja voi saada? Sanoitetaan tämä ohjelmaksi, esimerkiksi näin:


  • Kävelet kadulla kohti kauppaa. Sääennuste on luvannut sadetta ja sinulla on sateenvarjo mukana. Tarkkailet sateenmäärää. Annat tälle muuttujalle nimen "Sademäärä". Päätät, että muuttuja voi saada arvoja 0, 1 tai 2. Nolla tarkoittaa, että ei sada. Yksi tarkoittaa pientä tihkua, joka ei kastele sinua heti. Kaksi tarkoittaa että sataa jo sen verran, että kastut nopeasti. Olet määritellyt ehtolausekkeen: Jos muuttujan arvo on 2, avaa sateenvarjo. Muuten pidä sateenvarjo suljettuna. Ohjelma tarkastaa jatkuvasti muuttujan arvoa, kunnes olet sisällä kaupassa.

Joskus muuttujan arvo voi olla noin yksinkertainen, siis 0, 1 tai 2. Mutta onhan sen niin, että tihkusadekin kastelee, jos matkasi kauppaan on pitkä. Tällöin olisi hyvä mitata sademäärää tarkemmin, heti mahdollisen tihkusateen alusta lähtien. Oletetaan, että meillä olisi nyt mukana sateenmäärää mittaava kuppi. Sadetta mitanaan millimetreinä. Muuttujan arvo kasvaa siis sitä mukaa, kun kuppiin kertyy vettä. Voisimme asettaa ehtolausekkeen siten, että Jos sadetta kertyy kuppiin tasan 0,1mm tai enemmän, niin avaa sateenvarjo. Ohjelmoinnissa nämä kirjoitetaan pienempi kuin, suurempi kuin tai yhtä suuri eli vaikkapa näin:

  • Jos muuttujan nimeltään "sademäärä" arvo on >= 0,1mm, niin avaa sateenvarjo. (eli suurempi tai yhtäsuuri kuin 0,1mm)

Matematiikassa muuttujien niminä käytetään usein vaikkapa a, b tai x. Ohjelmoinnissakin voi näitäkin käyttää, mutta jotta elämä olisi helpompaa ja koodia olisi helpompi lukea ja hallinnoida, koodaaja voi nimetä muuttujat itse. Se on koodaajan päätös. 



Esimerkki muuttujan nimämisestä ja ehtolausekkeesta.

Kuvitteellisen tekstipelin koodi:

Anna muuttajan nimeksi "kakka".
Näytä pelaajalle teksti "Näet kadulla koiran kakan. Astutko siihen? Vastaa 1=kyllä tai 2=ei"
Näytä pelaajalle tekstikenttä. Tekstikentän vastauksen arvo on muuttuja "kakka"
Lue muuttuja "kakka"
Jos "Kakka" on 1, niin näytä teksti "Oletpa tyhmä. Jatkat matkaasi haisevaa kakkaa kengässäsi."
Jos "Kakka" on 2, niin näytä teksti "Väistit kakan, mutta polkaisit miinaan. Kuolit."