Professional Documents
Culture Documents
Вредноста на израз може да биде една од вредностите a,b,...,k или да не биде ниту
една од тие вредности. Значи, можни се сите случаи. Доколку изразот добие вредност a,
дејството продолжува со чекор-А, доколку изразот добие вредност b, дејството
продолжува со чекор-Б итн. Во случај да не се добие ниту една од вредностите a,b,...,k
тогаш дејството продолжува со чекор-Х. По извршување на кој било чекор, дејството
продолжува со првиот чекор по структурата.
израз
... ...
Со оваа контрола на избор се врши избор на еден од повеќе можни случаи. Затоа
таа се нарекува избор во случај или накратко случај. Структурата во текстуална форма се
се запишува:
случај израз
а:чекор-А;
b:чекор-Б;
...
k:чекор-К;
инаку чекор-Х
крај_случај(израз)
Вреднстите a,b,...,k,х мора да се од ист тип со вредноста на израз.
Кога е потребно ист чекор да се изврши за неколку вредности на израз, тогаш тие
вредности се ставаат во листа пред чекорот:
случај израз
a,s,y: чекор-А;
b,f: чекор-Б;
...
k,g,f: чекор-К;
инаку чекор-Х
крај_случај(израз)
Ако се случи иста вредност да се јави во неколку чекори, тогаш се извршува оној
чекој до кој прва ќе се најде.
Во зависност од природата на задачата, чекор-Х не мора да постои.
Алгоритмот за испишување на општиот успех кога е даден бројниот успех на
ученикот со користење на структурата случај е следниот:
алгоритам Успех;
почеток
читај n;
случај n;
5: печати: ‘Одличен’;
4: печати: ‘Мн.добар’;
3: печати: ‘Добар’;
2: печати: ‘Доволен’;
1: печати: ‘Недоволен’;
инаку
печати ‘Грешка’;
крај_случај {n};
крај {Успех}
Пример 1. Следниве два алгоритамски сегменти со структурата случај даваат исти
решенија:
случај a>b случај a>b
true:p←a; true:p←a;
false:p←b; инаку:p←b;
крај_случај{a>b} крај_случај{a>b}
печати р; печати р;
Пример 2. Нека еден месец е зададен по неговиот реден број m, во
годината(непрестапна). Со помош на структурата случај може да се одреди колку дена
има тој месец.
случај m
1,3,5,7,8,10,12:den←31;
4,6,9,11←30;
2←28;
крај_случај{m};
печати den;
CASE-OF
Пример 6. Напиши програма која ќе одредува дали преку тастатура е внесена мала или
голема буква.
PROGRAM Bukvi;
VAR Bukva:char;
BEGIN
Write(‘Napisete edna bukva:’);
Readln(bukva);
CASE bukva OF
‘A’..’Z’:Writeln(‘Ja napisavte golemata bukva ’, Bukva);
‘a’..’z’:Writeln(‘Ja napisavte malata bukva ’, Bukva);
ELSE
Writeln(‘Ne vnesovte bukva!’);
END;
END.
PROGRAM Broevi;
VAR a;
BEGIN
Write(‘Vnesete broj od 2 do 10’);
Readln(a);
CASE a OF
2,3,5,7 BEGIN
Writeln(‘Brojot ‘,a,‘ e prost broj’);
Writeln(‘Prost broj e onoj broj koj e deliv samo so 1 i so samiot
sebe’);
Writeln(‘Brojot 1 ne e prost broj po definicija’);
END;
4,8:Writeln(‘Prost delitel na ‘,a,’ e 2’);
9:Writeln(‘Prost delitel na ’,a,’ e brojot 3’);
6:Writeln(‘Prosti deliteli na brojot ’,a,’ se broevite 2 i 3’);
END;
END.