Esimerkki: Arvo kirjain
Tehdään funktio arvo_kirjain(a,b); joka arpoo numeron esimerkiksi väliltä 97...122 ja muuttaa numeron sitä vastaavaksi kirjaimeksi. Numeroa 97 vastaa kirjain a, numeroa 98 vastaa kirjain b, numeroa 99 vastaa kirjain c, numeroa 100 vastaa kirjain d jne. Tehdään vain yksi arpominen eli laitetaan komento noLoop().
Ohjelman koodi on seuraava.
Ohjelman koodi on seuraava.
|
// Ohjelman tehnyt e-Oppi Oy
// 30.8.2017
void setup () {
size(600,200); // Ikkunan koko
fill(0); // Tekstin väri musta
textSize(30); // Tekstin koko 32
noLoop(); // Vain yksi toisto
}
void draw () {
background(255); // Tyhjennä tausta
char mika_merkki = arvo_kirjain(97,122); // Kutsutaan aliohjelmaa
text("Arvottu merkki on "+mika_merkki,10,100); // Tulostetaan merkki
}
char arvo_kirjain(int a, int b) {
int numero = round(random(a,b)); // Arvotaan kokonaisluku väliltä a…b
char merkki = char(numero); // Muuttaa numeron merkiksi
return merkki; // Palautetaan merkki
}
Kun ajat ohjelman, niin ensin pääohjelma kutsuu aliohjelmaa: arvo_kirjain(a,b), missä a:lle ja b:lle välitetään kokonaislukuarvo. Aliohjelma arpoo kokonaisluvun väliltä [a,b] ja muuttaa arvotun luvun merkiksi. Tämä merkki palautetaan takaisin pääohjelmaan, siksi aliohjelman tietotyyppi on char. Sama tietotyyppi on pääohjelmassa mika_merkki-muuttujalla. Ohjelman tulostus näyttää esimerkiksi tältä.

Ohjelman suoritusta voidaan havainnollistaa seuraavasti.

Aliohjelma arvo_kirjain(a,b) saa syötteenä luvut 97 ja 122, jonka jälkeen aliohjelma arpoo luvun tältä väliltä ja muuttaa luvun sitä vastaavaksi merkiksi ascii-taulukossa. Aliohjelma tulostaa esimerkiksi merkin 'k' ulos, joka sijoitetaan pääohjelmassa mika_merkki-nimiselle muuttujalle.