Professional Documents
Culture Documents
Наредбата if е добра за избирање меѓу два избора, или пак за ограничен број на
услови. Меѓутоа ако треба да се изврши избор меѓу повеќе можни избори, користењето на
оваа наредба постанува во најмала рака непријатно и макотрпно. За таа цел се користи
наредбата case. Наредбата ја тестира вредноста на споредбената променлива со неколку
понудени избори. Споредбената променлива мора да е од целоброен тип (int, char…). Кога
ќе го пронајде изборот кој се бара, ја извршува наредбата (или наредбите) кои се поврзани
со соодветниот избор.
Case promenliva of
1: s1;
2: s2;
3: s3;
.
.
.
end;
Старт
Услов
1
S1
2
S2
3
S3
4
S4 Стоп
Каде што, 1, 2, 3 ... се case ознаките или влезни вредности кои би можеле да бидат
цели броеви, карактери, рационален или набројани податочни ставки. S1, S2, ... Sn се Паскал
изкази. Секој од овие искази може да има еден или повеќе од една case ознака поврзани со
неа. Изразот се нарекува case селектор или case индекс. Сase индексот може да се
претпостави како вредности кои одговараат на case ознаките. Вредности на селекторот
можат да бидат целобројни, знаковни или булов тип. Реалниот тип несмее да биде.
Може да се има неограничен број на case наредби во case наредбата. Секоја case наредба
е проследена со вредност да се спореди со одредена колона.
Сase за вредностите за case наредбата мора да бидат од ист податочен тип како изразот
во case изјавата, и тоа мора да биде константа или карактер.
Ако ниту една од case влезниот податок не одговара на вредноста во изразот, тогаш
наредбата продолжува после else или друга наредба се извршува.
Сase наредбата може да содржи и комбинирани наредби (на пр. Begin ….. end block ).
program checkCase;
uses wincrt;
var
oddelenie: char;
begin
oddelenie := 'A';
case (oddelenie) of
'A' : writeln('Odlicno!' );
'B', 'C': writeln('Dobro napraveno' );
'D' : writeln('Ti pomina ' );
'F' : writeln('Podobro obidi se povtorno' );
end;
writeln('Vaseto oddelenie e ', oddelenie );
end.
1. Da se napi{е programa, со наредбатa case, so koja }e se pe~ati denot od sedmicata
spored pritisnat broj~an taster. Пример: 1 за понеделник, 2 за вторник и тн.
program denovi;
uses wincrt;
var
x:integer;
begin
case x of
1: writeln ('Ponedelnik');
2: writeln('Vtornik');
3: writeln ('Sreda');
4: writeln ('Cetvrtok');
5: writeln ('Petok');
6: writeln ('Sabota');
7: writeln ('Nedela');
else
writeln ('Pogresen broj ');
end;
end.
program denovi;
uses wincrt;
var
x:char;
begin
case x of
else
writeln ('Pogresna bukva');
end;
end.