11. Наредбе избора (селекције)

Искази селекције омогућавају гранање програма зависно од испуњености одређеног услова.

Наредба IF

Једноструки избор
Једноструки избор:

IF logički_izraz THEN S

Ако логички израз има вредност истина (true) онда ће се извршити секвенца наредби S.
На пример: 
IF a>b THEN writeln('a je veće od b');

Двоструки избор
Двоструки избор:

IF log_izraz THEN S1 ELSE S2
Ако логички израз има вредност истина (true) извршиће се секвенца S1, а ако је вриједност логичког израза лаж (false) извршиће се секвенца S2.
На пример:
IF a>b THEN writeln('a je veće od b')
ELSE writeln('b je jednako ili manje od a');

Наредба CASE

Наредба CASE омогућава вишеструко гранање програма у зависности од вредности селекторског израза. Вредност селекторског израза може бити редног типа (char, integer, boolean, побројани или неки интервални тип).


Синтакса наредбе:

CASE selektorski_izraz OF
L1:S1;
L2:S2;
L3:S3;
.
Ln:Sn
END;
Наредба CASE се изводи тако што се рачуна вриједност селекторског израза и ако у попису цасе ознака (L1,L2,L3,...,Ln) постоји ознака иста вриједности селекторског израза тада се извршава припадна наредба или секвенца наредби.
На пример:
CASE round(prosjek) OF
1: writeln('nedovoljan');
2: writeln('dovoljan');
3:writeln('dobar');
4:writeln('vrlodobar');
5:writeln('odličan')
END;
Comments