Esimerkki: Viikonpäivä

Tee funktio nimeltään viikonpaiva(”paiva”); joka tutkii mikä viikonpäivä. Funktio antaa palautteena kommentin seuraavasti:

VIIKONPÄIVÄTULOSTUS
maanantai Maanantaina makkaraa
tiistai Tiistaina tikkaria
keskiviikko Keskiviikkona keksejä
torstai Torstaina torttuja
perjantai Perjantaina pekonia
lauantai Lauantaina lakritsia
sunnuntai Sunnuntaina suklaata

Ohjelman ratkaisu on seuraavanlainen.

SANALLINEN ALGORITMI
  1. Aseta ikkunan kooksi 600 px vaakaan ja 300 px pystyyn.
  2. Aseta ikkunan taustaväriksi valkea.
  3. Aseta täyttöväriksi musta.
  4. Aseta tekstin kooksi 30.
  5. Määrittele merkkijonomuuttuja nyt ja anna sille arvo "Lauantai".
  6. Määrittele merkkijonomuuttuja kommentti ja sijoita siihen arvo, joka palautuu aliohjelmasta viikonpaiva. Kutsu ja välitä aliohjelmalle viikonpaiva muuttujan nyt arvo.
  7. Tulosta muuttujan nyt arvo paikkaan (10,50).
  8. Tulosta muuttujan kommentti arvo paikkaan (10,100).
  9. Aloita merkkijono arvon palauttava aliohjelma viikonpaiva (Määrittele merkkijonomuuttuja paiva).
    1. Määrittele merkkijonomuuttuja vastaus.
    2. Jos muuttuja: paiva on yhtä suuri kuin "maanantai", niin silloin sijoita muuttujalle vastaus arvo "Maanantaina makkaraa".
    3. Muutoin jos muuttuja: paiva on yhtä suuri kuin "tiistai", niin silloin sijoita muuttujalle vastaus arvo "Tiistaina tikkaria".
    4. Muutoin jos muuttuja: paiva on yhtä suuri kuin "keskiviikko", niin silloin sijoita muuttujalle vastaus arvo "Keskiviikkona keksejä".
    5. Muutoin jos muuttuja: paiva on yhtä suuri kuin "torstai", niin silloin sijoita muuttujalle vastaus arvo "Torstaina torttuja".
    6. Muutoin jos muuttuja: paiva on yhtä suuri kuin "perjantai", niin silloin sijoita muuttujalle vastaus arvo "Perjantaina pekonia".
    7. Muutoin jos muuttuja: paiva on yhtä suuri kuin "lauantai", niin silloin sijoita muuttujalle vastaus arvo "Launantaina lakritsia".
    8. Muutoin jos muuttuja: paiva on yhtä suuri kuin "sunnuntai", niin silloin sijoita muuttujalle vastaus arvo "Sunnuntaina suklaata".
    9. Muutoin sijoita muuttujalle vastaus arvo "Ei ole viikonpäivä".
    10. Palauta muuttujan vastaus arvo takaisin pääohjelmaan.

// Ohjelman tehnyt e-Oppi Oy
// 30.8.2017
void setup () {
size(600,300); // Ikkunan koko
background(255); // Taustaväri valkoinen
fill(0); // Tekstin väri musta
textSize(30); // Tekstin koko 30
}

void draw () {
String nyt= "lauantai";
String kommentti = viikonpaiva(nyt);
text("Tänään on: "+nyt,10,50);
text(kommentti,10,100);
}

String viikonpaiva(String paiva){
String vastaus;
if (paiva == "maanantai") {
vastaus = "Maanantaina makkaraa";
} else if (paiva == "tiistai") {
vastaus = "Tiistaina tikkaria";
} else if (paiva == "keskiviikko") {
vastaus = "Keskiviikkona keksejä";
} else if (paiva == "torstai") {
vastaus = "Torstaina torttuja";
} else if (paiva == "perjantai") {
vastaus = "Perjantaina pekonia";
} else if (paiva == "lauantai") {
vastaus = "Lauantaina lakritsia";
} else if (paiva == "sunnuntai") {
vastaus = "Sunnuntaina suklaata";
} else {
vastaus = "Ei ole viikonpäivä";
}
return vastaus;
}


Ohjelma tulostaa seuraavaa:




Ohjelman suoritusta voidaan havainnollistaa seuraavasti.



Funktio eli aliohjelma viikonpaiva saa syötteenä arvon "lauantai" ja tulostaa ulos kommentin: "Lauantaina lakritsia". Tämä arvo sijoitetaan pääohjelmassa muuttujalle kommentti.

Toimintaperiaate samanlainen kuin aikaisemmin. Koska nyt tietona välitetään merkkijonoja, niin välitettävä tieto on laitettava lainausmerkkien (" ") sisään. Aliohjelman tietotyyppi on myös String, joka pitää laittaa heti aliohjelman alkuun. Palautettava vastaus-muuttujan arvo sijoitetaan pääohjelmassa kommentti-muuttujalle, jossa pitää olla sama tietotyyppi, kuin aliohjelmassa eli String.