Luku 2

Ehtorakenne

Komennon If avulla koodiin saa laitettua ehtorakenteen. Tämän ansiosta koodi voi toimia eri tavalla eri tilanteissa.

Seuraava koodi näyttää viestin "Tervetuloa!" vain, jos käyttäjä antaa oikean salasanan "kissa".

Dim salasana = InputText("Anna salasana:")
If salasana = "kissa" Then
    Message "Tervetuloa!"
EndIf

Ehtoon voi lisätä myös Else-osan, johon koodi menee, jos ehto ei päde:

Dim salasana = InputText("Anna salasana:")
If salasana = "kissa" Then
    Message "Tervetuloa!"
Else
    Message "Pääsy kielletty!"
EndIf

Ohjelman suoritus voi näyttää tältä:

Tai tältä:

Luvun vertailu

Seuraava koodi kysyy käyttäjältä iän ja tulostaa eri viestin, jos käyttäjä on yli 20-vuotias tai sitä nuorempi.

Dim ika = InputNumber("Kuinka vanha olet?")
If ika > 20 Then
    Message "Olet jo vanha!"
Else
    Message "Olet vielä nuori!"
EndIf

Ohjelman suoritus voi näyttää tältä:

Tai tältä:

Vertailutavat

Tekstiä ja lukuja voi vertailla seuraavasti:

  • a = b: a ja b ovat samat
  • a <> b: a ja b eivät ole samat

Lukuja voi vertailla myös seuraavasti:

  • a < b: a on pienempi kuin b
  • a <= b: a on sama tai pienempi kuin b
  • a > b: a on suurempi kuin b
  • a >= b: a on sama tai suurempi kuin b

Komento ElseIf

Komennolla ElseIf voi lisätä uusia tapauksia ehtorakenteeseen. Koodi suorittaa ensimmäisen tapauksen, jonka ehto pitää paikkansa.

Seuraava koodi osaa tervehtiä Uolevia ja Maijaa eri tavoilla. Jos käyttäjä on joku muu, koodi näyttää kolmannen viestin.

Dim nimi = InputText("Anna nimesi:")
If nimi = "Uolevi" Then
    Message "Moikka!"
ElseIf nimi = "Maija" Then
    Message "Heippa!"
Else
    Message "Kuka olet?"
EndIf

Ohjelman suoritus voi näyttää tältä:

Tai tältä:

Tai tältä:

Monta ehtoa

Ehtoja voi yhdistää toisiinsa myös sanoilla And ja Or. Silloin And tarkoittaa, että kummankin ehdon tulee olla tosi, ja Or tarkoittaa, että ainakin toisen ehdon tulee olla tosi.

Seuraava koodi tarkastaa sekä käyttäjätunnuksen että salasanan:

Dim tunnus = InputText("Anna käyttäjätunnus:")
Dim salasana = InputText("Anna salasana:")
If tunnus = "uolevi" And salasana = "kissa" Then
    Message "Tervetuloa!"
Else
    Message "Pääsy kielletty!"
EndIf

Ohjelman suoritus voi näyttää tältä:

Tai tältä:

Tietovisa

Nyt on aika koodata hieman monimutkaisempi ohjelma. Se toteuttaa tietovisan, jossa käyttäjän täytyy vastata kolmeen kysymykseen. Lopuksi ohjelma ilmoittaa pistemäärän.

Dim pisteet = 0
Dim vastaus1 = InputText("Mikä on Suomen pääkaupunki?")
If vastaus1 = "Helsinki" Then
    pisteet = pisteet + 1
    Message "Oikein!"
Else
    Message "Väärin!"
EndIf
Dim vastaus2 = InputText("Mitä on 'kissa' englanniksi?")
If vastaus2 = "cat" Then
    pisteet = pisteet + 1
    Message "Oikein!"
Else
    Message "Väärin!"
EndIf
Dim vastaus3 = InputText("Mikä on luvun 25 neliöjuuri?")
If vastaus3 = "5" Then
    pisteet = pisteet + 1
    Message "Oikein!"
Else
    Message "Väärin!"
EndIf
Message "Sait pisteitä: " & pisteet

Ohjelman suoritus voi näyttää tältä:

Edellinen | Seuraava