Реферат: Турбо Паскаль 7.0
Program Dialog;
const
Question =' What is your name?';
Replyl =
'Паскаль — прост, но первый компилятор Паскаля был написан на Паскале';
Reply21 = 'Вас ждет удивительное путешествие';
Reply22 = 'сквозь джунгли особенностей и возможностей языка';
ReplyS =
'Паскаль — разумный компромисс между желательным и эффективным';
Reply4 = 'Паскаль академически элегантен';
var
Name: string;
Age: byte;
begin
WriteLn(Question); ReadLn(Name);
WriteLn('Hello,', Name,'!');
WriteLn('Howold are you?'); ReadLn(Age);
case Age of
0..11 :WriteLn(Reply1);
12..19 : begin WriteLn (Reply21); WriteLn (Reply22) end;
20..39: WriteLn(Reply3);
40..150:WriteLn(Reply4)
else WriteLn('Bbi ошиблись при вводе')
end
end.
Переменная Age играет роль селектора. В зависимости от значения данной переменной происходит дальнейшее ветвление программы. В нашем примере в качестве альтернатив применяются диапазоны значений, поскольку нельзя использовать результаты сравнения чисел, как в предыдущей программе. Исходные неравенства заменены диапазонами. Например, проверка логического условия Age < 12 заменена проверкой принадлежности диапазону 0..11.
В заключение подчеркнем, что оператор case имеет существенные отличия от оператора if. Используемые для выбора альтернатив метки должны быть количественно определены до начала вычислений, поэтому в них могут применяться только константы, приведенные непосредственно или описанные в разделе описаний. Кроме того, оператор ограничен порядковыми типами данных, используемых для выбора альтернатив.
If Ready then Exam_ok := true;
Идеальная логика эквивалентности: