If ... then parancs
Gyakran előfordul, hogy programunkban valamilyen feltételtől függően szeretnénk parancsot végrehajtani.
If feltételek Then
[utasítások]
[else]
[utasítások]
End If
Például akkor szeretnénk végrehajtani valamilyen parancsot, ha az i változó értéke nagyobb mint 5. Erre a következő parancs szolgál:
A mi példánkban ez így nézne ki:
if i>5 then parancs;
A feltételben bármilyen két kifejezést összehasonlíthatunk (pl. az i+1-et a j+5-tel). A kifejezések összehasonlítására használhatjuk a <, >, =, <=, >=, <> (nem egyenlő) jeleket, melyek igaz/hamis (true/false) logikai értékeket adnak vissza. Ha ez a logikai érték igaz (true), akkor a parancs végrehajtódik.
A logikai értékeket összekapcsolhatjuk az AND (és), OR (vagy), NOT (nem), XOR (kizáró vagy) műveletekkel. Így egyszerre több feltételt is vizsgálhatunk. Ilyenkor a feltételeket, amelyeket összekapcsoljuk, zárójelbe tesszük. Pl. azt szeretnénk, ha a parancsunk csak akkor hajtódna végre, ha az i változó értéke nagyobb mint 5 és egyidejűleg a k változó értéke egyenlő 7-tel:
if (i>5) and (k=7) then parancs;
A feltétel else ága
A programozás során sokszor előfordul, hogy akkor is végre akarunk hajtani valamilyen utasítást, ha a feltétel nem igaz. Ekkor az if ... then parancsunk kibővül egy else résszel:
if feltétel then parancs1
else parancs2;
Ha a feltétel igaz, akkor a parancs1 végrehajtódik, egyébként a parancs2 hajtódik végre. Fontos megjegyeznünk, hogy ha az if feltételvizsgálatnak van else ága, akkor a parancs1 után nem rakunk pontosvesszőt. Természetesen itt is mindkét parancs helyett tehetünk több utasítást is. Ilyenkor minden esetben a begin ... end-et használjuk:
Select Case változó
Case változóérték1
[utasítások]
Case változóérték2
[utasítások]
…
End Select
Az egyes Case ágakban nemcsak konkrét értékeket, hanem intervallumokat is megadhatunk.
Pl.: 1 to 5
Vizsgálhatjuk azt is, hogy bizonyos feltételeknek eleget tesz-e a vizsgált változó. Ilyenkor az Is kulcsszót használjuk.
Pl.: Is>100
Vesszővel elválasztva több értéket és formulát is megadhatunk
Feladat: Készítsünk programot, amely bekér három pozitív egész számot, és kiírja őket nagyság szerint növekvő sorrendben!
Megoldás: A programban a három számnak 3 változót fogunk használni (a, b, c). Ezeket cserélgetéssel sorba fogjuk rakni úgy, hogy az a változóban legyen a legkisebb szám, a b-ben a középső és a c-ben a legnagyobb szám. A cserékhez egy x segédváltozót használunk.