e-gradiva | HTML | CSS | JavaScript | Načrtovanje | |||||
SERŠ Maribor | Iskanje | Primeri |
Življenje ne gre v ravni črti. V vsakdanjem življenju se je večkrat potrebno odločiti med dvema ali več možnostmi. Tako je tudi v programskem okolju. Skoraj ni resnejšega programa brez odločitev med več možnostmi, oziroma izvrševanjem določenih stavkov samo, če je izpolnjen nek pogoj. Take odločitvene probleme rešujemo na več načinov.
Pogojni operator je krajši zapis if(...) ... else ...
. Operator ima tri operande. Prvi operand je pogoj, ki se izračuna kot logična vrednost true
ali false
, drugi operand je izraz, ki bo vrnjem, če je pogoj true
in tretji operand je izraz, ki bo vrnjen, če je pogoj false
.
Primer:
ocena="neocenjen" document.write("Ocena je " + ((ocena > 1) ? "pozitivna" : "ni pozitivna"))
Pogojni stavek if
ponuja možnost izvršitve določenega stavka samo v primeru, ko je izpolnjen določen pogoj. Pogojni stavek se zapiše s ključno besedo if
, ki ji sledi pogoj (izraz, ki vrne vrednost true ali false, zapisan v oklepajih), temu pa stavek, ki se ga želi izvesti, Če je pogoj izpolnjen (če vrne vrednost true). Če pogoj ni izpolnjen, se stavek/stavki preskoči/jo. V kolikor je stavkov več, jih je potrebno pisati v zavitih oklepajih {
in }
.
if (pogoj) stavek
ali
if (pogoj) { stavki }
V kolikor se v primeru neizpolnjenega pogoja (pogoj vrne vrednost false) želi izvesti se nek/e drugi/e stavek/e, se napiše še ključno besedo else
:
if (pogoj) stavek else stavek 2
ali
if (pogoj) { stavki 1 } else { stavki 2 }
Mnogo pogojev primerja v odločitvenih stavkih vrednosti v posebnih pogojih. Neka lastnost predmeta je lahko definirana ali pa ni. Obstaja nekaj okrajšav, ki vrnejo true ali false (ali ekvivalent):
true | false |
---|---|
neprazen niz | prazen niz |
vse razen null | null |
predmet obstaja | predmet ne obstaja |
lastnost je določena | lastnost ni določena |
Večkrat se ne odloča z da ali ne, izbira se lahko med več možnostmi samo na podlagi različnih vrednostih nekega izraza. Lahko bi se uporabilo kombinacijo zaporednih gnezdenih pogojnih stavkov if...else
. Preprostejša je uporaba stavka switch
. Tega se zapiše tako v jeziku C:
switch (izraz) { case vrednost_1: stavek/stavki_1 [ break; ] case vrednost_2: stavek/stavki_2 [ break; ] ... [ default: stavek/stavki_n ] }
Program izračuna vrednost izraza izraz ter poišče stavek case s to vrednostjo.
Vrednosti, ki sledijo besedi case, morajo biti konstante. Če program najde ustrezen stavek case, izvrši vse stavke, ki sledijo, razen če prej ne naleti na stavek break (ni ga potrebno navesti v switch), ki povzroči skok iz stavka switch. Če stavka case z ustrezno vrednostjo ni, izvrši vse stavke, ki sledijo besedi default
. Tudi opcije default
ni potrebno navesti, v tem primeru stavek ne bo storil ničesar.
SERŠ Maribor : Strokovna gimnazija : 2004 : Leon Borko