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ä: