4.3 Loogiset operaattorit

Yhteenveto





Sanallinen algoritmi
  1. Aseta ikkunan kooksi 450 px vaakaan ja 450 px pystyyn.
  2. Aseta taustaväriksi valkoinen.
  3. Aseta tekstin väriksi musta.
  4. Aseta tekstin kooksi 25.
  5. Määrittele kokonaislukumuuttuja nimeltään: luku ja anna sille arvo: 2.
  6. Jos (luku on suurempi kuin miinus yksi) JA (luku on pienempi tai yhtäsuuri kuin kuusi), niin silloin tulosta teksti: "Luku "+luku+" on välillä ]-1,6]" paikkaan (10,50),
  7. muutoin tulosta teksti: "Luku "+luku+" ei ole välillä ]-1,6]" paikkaan (10,50).
  8. Jos (luku on pienempi tai yhtä suuri kuin miinus kolme) TAI (luku on suurempi kuin kaksi), niin silloin tulosta teksti: "Luku "+luku+" on välillä ]∞,-3] TAI ]2,∞[" paikkaan (10,50),
  9. muutoin tulosta teksti: "Luku "+luku+" ei ole välillä ]∞,-3] TAI ]2,∞[" paikkaan (10,50).

// Ohjelman tehnyt: e-Oppi Oy
// 29.1.2017
void setup () {
size(400,300); // Ikkunan koko
background(255); // Taustaväri valkoinen
fill(0); // Taustaväri musta
textSize(25); // Tekstin koko 25
}
void draw () {
int luku = 2;
if ((luku >-1) && (luku <= 6)) {
text("Luku "+luku+" on välillä ]-1,6]",10,50);
} else {
text("Luku "+luku+" ei ole välillä ]-1,6]",10,50);
}
if ((luku <=-3) || (luku > 2)) {
text("Luku "+luku+" on välillä ]\u221E,-3] TAI ]2,\u221E[",10,100);
      } else { 
text("Luku "+luku+" ei ole välillä ]\u221E,-3] TAI ]2,\u221E[",10,100);
}
}

Loogiset operaattorit

 

Loogiset operaattorit
MERKITYSOHJELMOINTIMATEMATIIKKA
JA &&
TAI ||
EI !


Usein tulee vastaan tilanteita, että pitäisi toteutua kaksi tai useampi ehto yhtä aikaa. Tällöin tarvitsemme loogisia operaattoreita: JA, TAI, EI.



JA-ehto tarkoittaa sitä, että molemmat ehdot täyttyvät. TAI tarkoittaa sitä, että jompikumpi ehdoista täyttyy. EI tarkoittaa aina vastakkaista ehtoa. Tutkitaan ehtojen käyttämistä esimerkkien avulla.

Kun yhdistellään eri ehtoja, niin ehdot yhdessä toimivat seuraavasti.

EHTO 1EHTO 2EHTO1 JA EHTO2EHTO1 TAI EHTO2
tosi tosi tosi tosi
tosi epätosi epätosi tosi
epätosi tosi epätosi tosi
epätosi epätosi epätosi epätosi

Taulukosta nähdään se, että kun käytetään JA-operaattoria, niin molempien ehtojen pitää toteutua. TAI-operaattorilla riittää, kun vain toinen ehdoista täyttyy.

Ei-ehto muuttaa ehdon aina vastakkaiseksi.

EHTOEI EHTO
tosi epätosi
epätosi tosi

Esimerkki: Pääkaupunki

Tehdään ohjelma, jossa tutkitaan merkkijonoa. Jos ohjelman pitäisi ottaa huomioon esimerkiksi eri kirjoitustavat, niin tällöin tarvitaan kaksi tai useampi ehto. Tässä esimerkissä ei vastaus pitää hyväksyä, sekä pienellä, että isolla kirjoitettu teksti. Jos muuttujalla on arvo: helsinki TAI Helsinki, niin silloin tulostetaan kommentti: Tämä on Suomen pääkaupunki. Kaikissa muissa tapauksissa tulostetaan: Tämä ei ole Suomen pääkaupunki. Ohjelman koodi on seuraavanlainen.

Sanallinen algoritmi
  1. Aseta ikkunan kooksi 600 px vaakaan ja 200 px pystyyn.
  2. Aseta ikkunan taustaväriksi valkoinen.
  3. Aseta tekstin väriksi musta.
  4. Aseta tekstin kooksi 32 px.
  5. Määrittele merkkijonomuuttuja nimeltään: kaupunki ja anna sille arvo: "Helsinki".
  6. Jos ( kaupunki-muuttuja on "helsinki" ) TAI ( kaupunki-muuttuja on "Helsinki" ), niin
    tulosta kommentti: "Tämä on Suomen pääkaupunki" paikkaan (10,100),
  7. muutoin tulosta kommentti: "Tämä ei ole Suomen pääkaupunki" paikkaan (10,100).

// Ohjelman tehnyt: e-Oppi Oy
// 30.1.2017
void setup() {
     size(600,200); // Ikkunan koko
     background(255); // Valkea taustaväri
     fill(0); // Musta tekstin väri
     textSize(32); // Tekstin koko 32
}
void draw() { String kaupunki = "Helsinki"; // Muuta tähän kaupungin nimi if ((kaupunki == "helsinki") || (kaupunki=="Helsinki")) { text("Tämä on Suomen pääkaupunki",10,100); } else { text("Tämä ei ole Suomen pääkaupunki",10,100); } }


Ohjelmoinnissa TAI-sana korvataan kahdella pystyviivalla: ||. Kun kirjoitat ehtoja, niin rilliset ehdot pitää laittaa sulkeisiin. Tämä selkeyttää koodia ja on vaatimus ehtojen toimimiselle.

Mitä jos tähän ehtoon laittaisi JA-vertailuoperaattorin? Se ei olisi järkevää, koska muuttuja ei voi saada yhtä aikaa kahta eri arvoa. Vaikka muuttujalla olisi oikea arvo, niin if-lauseen ehto ei koskaan täyttyisi.

Alla on ohjelman esimerkkiajo kahdella eri muuttujan arvolla.



Jos haluat tehdä ohjelman, joka kysyy pääkaupungin-nimeä Javan syöttökentän avulla, niin ehtolauseessa on käytettävä ehtoa, joka on muotoa: muuttuja.equals("Tekstiä").  Syy tähän on se, että Javan syöttökenttä palauttaa muuttujan arvoksi String objektin, ei String tietotyypin. Tehdään tästä kokonainen ohjelma.


// Ohjelman tehnyt: e-Oppi Oy // 2.1.2018 import static javax.swing.JOptionPane.*;
void setup () {
size(600,200); // ikkunan koko
fill(0); // Tekstinväri musta
background(255); // Taustaväri valkoinen
textSize(32); // Tekstin koko 20
noLoop(); // void draw ()-lohko suoritetaan vain kerran
}
void draw () {
String vastaus = showInputDialog("Mikä on Suomen pääkaupunki?");
if ((vastaus.equals("Helsinki")) || (vastaus.equals("helsinki"))) {
text("Tämä on suomen pääkaupunki",10,100);
} else {
text("Tämä ei ole suomen pääkaupunki",10,100);
}
}


Huomaa, että yllä oleva esimerkki toimii vain PC-koneilla. Javan kirjastoja ei ole käytössä esimerkiksi iPad-tabletin Processing-sovelluksella.

Esimerkki: Suurempi ja pienempi kuin

Tehdään ohjelma, joka tutkii, onko annettu luku välillä 2 ≤ x ≤ 6.

Sanallinen algoritmi
  1. Aseta ikkunan kooksi 400 px vaakaan ja 200 px pystyyn.
  2. Aseta ikkunan taustaväriksi valkoinen.
  3. Aseta tekstin väriksi musta.
  4. Aseta tekstin kooksi 32 px.
  5. Määrittele kokonaislukumuuttuja nimeltään: luku ja anna sille arvo: 5.
  6. Jos ( luku-muuttuja on suurempi tai yhtä suuri kuin 2 )
    JA ( luku-muuttuja on pienempi tai yhtä suuri kuin 6) , niin
    tulosta kommentti: "Luku on välillä 2...6" paikkaan (10,100),
  7. muutoin tulosta kommentti: "Luku ei ole välillä 2...6" paikkaan (10,100).

// Ohjelman tehnyt: e-Oppi Oy
// 30.1.2017
void setup() { 
     size(400,200); // Ikkunan koko
     background(255); // Valkoinen taustaväri
     fill(0); // Musta tekstin väri
     textSize(32); // Tekstin koko 32
}
void draw() { int luku = 5; // Muuta luku-muuttujan arvoa tässä if ((luku >= 2) && (luku <= 6)) { text("Luku "+luku+ " on välillä 2...6",10,100); } else { text("Luku "+luku+ " ei ole välillä 2...6",10,100); } }


Voimme kirjoittaa ehdon: luku on suurempi tai yhtä suuri kuin 2 eli x ≥ 2. Tämä käsittää luvun kaksi ja sitä suuremmat kokonaisluvut eli A = {2,3,4,5,6,7,8,9,…}



Vastaavasti voimme kirjoittaa ehdon: luku on pienempi tai yhtä suuri kuin 6 eli x ≤ 6. Tämä käsittää luvun kuusi ja kaikki sitä pienemmät kokonaisluvut eli B = {…,-1,0,1,2,3,4,5,6}



Nyt kun yhdistämme JA-vertailuoperaattorilla nämä kaksi ehtoa, niin saamme ehdon, joka käsittää vain näiden kahden lukujoukon yhteiset luvut eli A JA B = {2,3,4,5,6}.



Ehto voitaisiin kirjoittaa muodossa

JOS ((luku on suurempi tai yhtä suuri kuin 2) JA (luku on pienempi tai yhtä suuri kuin 6))

Eli sama ohjelmointikielessä näyttää tältä.

if ((luku >=2) && (luku <= 6))

Alla on kuvattu kaksi esimerkkiajoa kahdella eri muuttujan arvolla.


Esimerkki: suurempi tai pienempi kuin

Tehdään ohjelma, joka tutkii, onko annettu luku pienempi kuin 2 tai suurempi kuin 6.

Sanallinen algoritmi
  1. Aseta ikkunan kooksi 400 px vaakaan ja 200 px pystyyn.
  2. Aseta ikkunan taustaväriksi valkoinen.
  3. Aseta tekstin väriksi musta.
  4. Aseta tekstin kooksi 32 px.
  5. Määrittele kokonaislukumuuttuja nimeltään: luku, ja anna sille arvo: 1.
  6. Jos ( luku-muuttuja on pienempi kuin 2 ) TAI ( luku-muuttuja on suurempi kuin 6), niin
    tulosta kommentti: "Luku ei ole välillä 2...6" paikkaan (10,100),
  7. muutoin tulosta kommentti: "Luku on välillä 2...6" paikkaan (10,100).

// Ohjelman tehnyt: e-Oppi Oy
// 30.1.2017
void setup() { 
     size(400,200); // Ikkunan koko
     background(255); // Valkea taustaväri
     fill(0); // Musta tekstin väri
     textSize(32); // Fonttikoko 32
}
void draw() { int luku = 1; // Muuta tähän luku-muuttujan arvo if ((luku < 2) || (luku > 6)) { text("Luku "+luku+ " ei ole välillä 2...6",10,100); } else { text("Luku "+luku+ " on välillä 2...6",10,100); } }


Voimme kirjoittaa ehdon: luku on pienempi kuin 2 eli x < 2. Tämä käsittää lukua kaksi pienemmät kokonaisluvut eli A = {…,-2,-1,0,1}.


Vastaavasti voimme kirjoittaa ehdon: luku on suurempi kuin 6 eli x > 6. Tämä käsittää lukua kuusi suuremmat kokonaisluvut eli B = {7,8,9,10,…}.


Kun nyt yhdistämme nämä kaksi ehtoa, niin emme voi käyttää JA-vertailuoperaattoria, koska luku ei voi olla yhtä aikaa sekä suurempi kuin kuusi ja pienempi kuin kaksi. Meidän on käytettävä TAI-vertailuoperaattoria. Jolloin A tai B ={…,-2,-1,0,1,7,8,9,10,…}



Ehto voitaisiin kirjoittaa muodossa:

JOS ((luku on pienempi kuin 2) TAI (luku on suurepi kuin 6))

Joka näyttää ohjelmointikielessä tältä.

if ((luku < 2) || (luku > 6))

Esimerkki: TAI-operaattorin käyttö

Tehdään ohjelma, jossa on kokonaislukumuuttuja: numero. Tehdään seuraavat ehtolauseet:
  • Jos numero saa arvon 4, niin tulostetaan kommentti: "Hylätty".
  • Jos numero saa arvon 5 TAI numero saa arvon 6, niin tulostetaan kommentti: "Välttävä".
  • Jos numero saa arvon 7 TAI numero saa arvon 8, niin tulostetaan kommentti: "Hyvä".
  • Jos numero saa arvon 9 TAI numero saa arvon 10, niin tulostetaan kommentti: "Kiitettävä".
  • Kaikilla muilla numeroilla tulostetaan kommentti: "Tämä ei ole koenumero".

Kaikkein järkevintä on ketjuttaa if-lauseet else-if -rakenteella, niin viimeinen else-vaihtoehto hoitaa kaikki muut numerot kuin numerot 4, 5, 6, 7, 8, 9 ja 10. Kun käytämme TAI-operaattoria, niin tällöin voimme yhdistää eri ehtoja. Koska numero-muuttuja voi vain saada kokonaislukuarvoja, niin TAI-operaattori on kätevä eri ehtojen yhdistelyyn. Tulkinnan varaa ei ole. Kokonainen ohjelma näyttää tältä.

Sanallinen algoritmi
  1. Aseta ikkunan kooksi 350 px vaakaan ja 150 px pystyyn.
  2. Aseta ikkunan taustaväriksi valkoinen.
  3. Aseta tekstin väriksi musta.
  4. Aseta tekstin kooksi 20 px.
  5. Määrittele kokonaislukumuuttuja nimeltään: numero ja anna sille arvo: 8.
  6. Tulostetaan numero-muuttujan arvo paikkaan (10,50).
  7. Jos numero-muuttuja on 4, niin
    tulosta: "Se on hylätty" paikkaan (10,100),
  8. muutoin jos ( numero-muuttuja on 5 ) TAI ( numero-muuttuja on 6 ) , niin
    tulosta kommentti: "Se on välttävä" paikkaan (10,100),
  9. muutoin jos ( numero-muuttuja on 7 ) TAI ( numero-muuttuja on 8 ) , niin
    tulosta kommentti: "Se on hyvä" paikkaan (10,100),
  10. muutoin jos ( numero-muuttuja on 9 ) TAI ( numero-muuttuja on 10 ) , niin
    tulosta kommentti: "Se on kiitettävä" paikkaan (10,100),
  11. muutoin tulosta kommentti: "Tämä ei ole koenumero" paikkaan (10,100).

// Ohjelman tehnyt: e-Oppi Oy
// 30.1.2017
void setup() {
     size(350,150); // Ikkunan koko
     background(255); // Taustaväri valkoinen
     fill(0); // Tekstin väri musta
     textSize(20); // Tekstin koko 20
}
void draw() { int numero = 8; // Muuta tähän koenumero text("Koenumerosi on: "+numero,10,50); // Ilmoita koenumero if (numero == 4) { // Jos numero on 4, niin text("Se on hylätty",10,100); // silloin tulosta hylätty } else if ((numero == 5) || (numero == 6)) {
// Tai jos numero on 5 TAI numero on 6, niin text("Se on välttävä",10,100); // silloin tulosta välttävä } else if ((numero == 7) || (numero == 8)) {
// Tai jos numero on 7 TAI numero on 8, niin text("Se on hyvä",10,100); // silloin tulosta hyvä } else if ((numero == 9) || (numero == 10)) {
// Tai jos numero on 9 TAI numero on 10, niin text("Se on kiitettävä",10,100); // silloin tulosta kiitettävä } else { // Tai kaikissa muissa tapauksissa text("Tämä ole koenumero",10,100); // tulosta ei ole koenumero } }

Ohjelma tulostaa esimerkiksi seuraavaa:

Esimerkki: JA-operaattorin käyttö

Edellisessä ohjelmassa on se puute, että siinä voi vain tutkia kokonaislukuja. Entä jos koenumero on esimerkiksi 6½ eli käytämme desimaalilukuja (float). Tällöin saadaan aikaiseksi lukuvälejä ja on paljon järkevämpää käyttää JA-operaattoria. Tehdään ehdot seuraavista lukuväleistä.
  • Jos numero on suurempi tai yhtä suuri kuin 4 JA numero on pienempi kuin 4½, silloin tulostetaan: "Hylätty".
  • Jos numero on suurempi tai yhtä suuri kuin 4½ JA numero on pienempi kuin 6½, silloin tulostetaan: "Välttävä".
  • Jos numero on suurempi tai yhtä suuri kuin 6½ JA numero on pienempi kuin 8½, silloin tulostetaan: "Hyvä".
  • Jos numero on suurempi tai yhtä suuri kuin 8½ JA numero on pienempi tai yhtä suuri kuin 10, silloin tulostetaan: "Kiitettävä".
  • Jos numero on suurempi kuin 10 TAI pienempi kuin 4, silloin tulostetaan: "Tämä ei ole koenumero".
Matemaattisia merkintöjä käyttäen lukuvälit olisivat seuraavat.

LukuväliTulostus
numero < 4 Ei ole koenumero
4 ≤ numero < 4½ Hylätty
≤ numero < 6½ Välttävä
≤ numero < 8½ Hyvä
≤ numero ≤ 10 Kiitettävä
numero > 10 Ei ole koenumero

Kun kyseessä on lukuväli, niin tällöin on ehdottomasti käytettävä JA-operaattoria. Paitsi viimeisessä ehdossa on pakko käyttää TAI-operaattoria, koska luku ei voi yhtä aikaa olla sekä suurempi kuin 10 ja pienempi kuin 4. Myöskään ehtojen ketjuttaminen ei ole tässä välttämätöntä. Ketjuttamisella ohjelma toisin saataisiin tehokkaammaksi. Kokonainen ohjelma on seuraavanlainen.

Sanallinen algoritmi
  1. Aseta ikkunan kooksi 350 px vaakaan ja 150 px pystyyn.
  2. Aseta ikkunan taustaväriksi valkoinen.
  3. Aseta tekstin väriksi musta.
  4. Aseta tekstin kooksi 20 px.
  5. Määrittele desimaalilukukumuuttuja nimeltään: numero ja anna sille arvo: 6.5.
  6. Tulosta numero-muuttujan arvo paikkaan (10,50).
  7. Jos ( numero-muuttuja on suurempi tai yhtä suuri kuin 4 )
    JA ( numero-muuttuja on pienempi kuin 4.5) , niin
    tulosta kommentti: "Se on hylätty" paikkaan (10,100).
  8. Jos ( numero-muuttuja on suurempi tai yhtä suuri kuin 4.5 )
    JA ( numero-muuttuja on pienempi kuin 6.5) , niin
    tulosta kommentti: "Se on välttävä" paikkaan (10,100).
  9. Jos ( numero-muuttuja on suurempi tai yhtä suuri kuin 6.5 )
    JA ( numero-muuttuja on pienempi kuin 8.5) , niin
    tulosta kommentti: "Se on hyvä" paikkaan (10,100).
  10. Jos ( numero-muuttuja on suurempi tai yhtä suuri kuin 8.5 )
    JA ( numero-muuttuja on pienempi tai yhtäsuuri kuin 10) , niin
    tulosta kommentti: "Se on kiitettävä" paikkaan (10,100).
  11. Jos ( numero-muuttuja on suurempi kuin 10 )
    TAI ( numero-muuttuja on pienempi kuin 4) , niin
    tulosta kommentti: "Tämä ei ole koenumero" paikkaan (10,100).

// Ohjelman tehnyt: e-Oppi Oy
// 30.1.2017
void setup() { 
     size(350,150); // Ikkunan koko
     background(255); // Taustaväri valkoinen
     fill(0); // Tekstinväri musta
     textSize(20); // Tekstin koko
}
void draw() { float numero = 6.5; // Vaihda tähän koenumero. Numero on nyt desimaaliluku. text("Koenumerosi on: "+numero,10,50); // Tulosta koenumerosi if ((numero >= 4) && (numero < 4.5)) { // Jos numero on välillä 4 ≤ numero < 4,5 text("Se on hylätty",10,100); // niin tulosta hylätty } if ((numero >= 4.5) && (numero < 6.5)) { // Jos numero on välillä 4,5 ≤ numero < 6,5 text("Se on välttävä",10,100); // niin tulosta välttävä } if ((numero >= 6.5) && (numero < 8.5)) { // Jos numero on välillä 6,5 ≤ numero < 8,5 text("Se on hyvä",10,100); // niin tulosta hyvä } if ((numero >= 8.5) && (numero <= 10)) { // Jos numero on välillä 8,5 ≤ numero ≤ 10 text("Se on kiitettävä",10,100); // niin tulosta kiitettävä } if ((numero > 10) || (numero < 4)) { // Jos numero on suurempi kuin 10 TAI numero on pienempi kuin 4 text("Tämä ole koenumero",10,100); // niin tulosta ei ole koenumero } }

Tässä kaksi ohjelman ajoa eri numeron arvoilla. Puolikkaat nostetaan aina ylöspäin.

Esimerkki: Ei-operaattori

Ei-operaattoria voidaan käyttää if-lauseessa totuusarvo-muuttujien kanssa seuraavasti.

muuttuja Muuttujan arvo on tosi.
!muuttuja Muuttujan arvo ei ole tosi (= epätosi).

Tehdään ohjelma, jossa ikkunan taustaväri muuttuu sen mukaan, missä hiiren osoitin on. Jos hiiren osoitin on keskilinjan vasemmalla puolen, niin ikkunan taustaväri on punainen. Jos hiiren osoitin on keskilinjan oikealla puolen, niin ikkunan taustaväri on vihreä. Hiiren vaakasuuntainen paikka saadaan komennolla: mouseX;. Voit lukea lisätiedoista lisää hiiri-komennoista. Kokonainen ohjelma on seuraava.

Sanallinen algoritmi
  1. Määrittele totuusarvo-muuttuja vari ja anna sille alkuarvo: true.
  2. Aseta ikkunan kooksi 600 px vaakaan ja 600 px pystyyn.
  3. Jos hiiren koordinaatti on suurempi kuin 300, niin
    aseta vari-muuttujalle arvo: false (epätosi).
  4. muutoin (jos hiiren koordinaatti on pienempi kuin 300), niin
    aseta vari-muuttujalle arvo: true (tosi).
  5. Jos vari muuttuja saa arvon true (tosi), niin
    aseta taustaväriksi punainen.
  6. Jos vari muuttuja saa arvon false (epätosi), niin
    aseta taustaväriksi vihreä.
  7. Piirrä ikkunan keskelle pystyviiva.

// Ohjelman tehnyt e-Oppi Oy
// 19.3.2017
boolean vari = true; // Määritellään totuusarvo-muuttuja
void setup() {
size(600,600); // Ikkunan koko
}

void draw() {
if (mouseX > 300) { // Jos hiiri on pystyviivan oikealla puolen
vari = false; // niin aseta arvo false (= epätosi)
} else { // muutoin
vari = true; // aseta arvo true (= tosi)
}
if (vari) { // Jos vari on true (= tosi), niin
background(255,0,0); // aseta taustaväri punaiseksi
}
if (!vari) { // Jos vari ei ole true eli on false (=epätosi)
background(0,255,0); // aseta taustaväri vihreäksi.
}
line(300,0,300,600); // Piirrä keskelle ikkunaa pystyviiva
}

Aja ohjelma ja liikuta hiirtä oikealle ja vasemmalle. Mitä havaitset? Jos ottaisit mukaan hiiren pystykoordinaatin lukevan komennon: mouseY; niin kuinka saisit ikkunan jaettua neljään osaan, niin että väri muuttuisi, jokaisessa osassa hiiren liikkeiden mukaan? Tällöin tarvitset kaksi totuusarvo muuttujaa ja JA-operaattoria. Ohjelman koodi olisi seuraavanlainen.

// Ohjelman tehnyt e-Oppi Oy
// 19.3.2017
boolean vari1 = true; // Määritellään totuusarvo-muuttuja vari1
boolean vari2 = true; // Määritellään totuusarvo-muuttuja vari2
void setup() {
size(600,600); // Ikkunan koko
}

void draw() {
if (mouseX > 300) { // Jos hiiri on pystyviivan oikealla puolen, niin
vari1 = false; // aseta arvo false (= epätosi)
} else { // muutoin
vari1 = true; // aseta arvo true (= tosi)
}
if (mouseY > 300) { // Jos hiiri on vaakaviivan alemmalla puolen, niin
vari2 = false; // aseta arvo false (= epätosi)
} else { // muutoin
vari2 = true; // aseta arvo true (= tosi)
}
if ((vari1) && (vari2)) { // Jos vari1 on true JA vari2 on true, niin
background(255,0,0); // aseta taustaväri punaiseksi
}
if ((vari1) && (!vari2)) { // Jos vari1 on true JA vari2 on false, niin
background(0,0,255); // aseta taustaväri siniseksi
}
if ((!vari1) && (vari2)) { // Jos vari1 on false ja vari2 on true, niin
background(0,255,0); // aseta taustaväri vihreäksi.
}
if ((!vari1) && (!vari2)) { // Jos vari1 on false ha vari2 on false, niin
background(255,255,0); // aseta taustaväri keltaiseksi.
}
line(300,0,300,600); // Piirrä keskelle ikkunaa pystyviiva
line(0,300,600,300); // Piirrä keskelle ikkunaa vaakaviiva
}

Kun ikkunan jaetaan neljään osaan, niin ehdot toimivat seuraavasti.

Jos (vari1 = tosi) JA (vari2 = tosi), niin
punainen
Jos (vari1 = epätosi) JA (vari2 = tosi), niin
vihreä
Jos (vari1 = tosi) JA (vari2 = epätosi), niin
sininen
Jos (vari1 = epätosi) JA (vari2 = epätosi), niin
keltainen