program Calculator;
var Op :char;
rez:real;
arg:real;
BEGIN
rez:=0.0;
Op:='+';
repeat
readln(arg);
case Op of
'+':rez:=rez+arg;
'-':rez:=rez-arg;
'*':rez:=rez*arg;
'/':rez:=rez/arg;
end;
readln(Op);
until Op='=';
writeln(rez);
END.
Ей, Паскала е велика работа
Хвани си Паскала, напиши малко код и би трябвало да схванеш идеята.
Case има един входен параметър и представлява нещо като таблица на решения, които трябва да предприеме когато този входен параметър има определена стойност.
Един вход - много изходи, зависещи от входа.
Като действие не прави нищо по-различно от една дълга поредица от "if then else", и изглежда това е замисъла на Case - да е алтернатива на "if" с по-малко обем написан код.