Так как в условии задачи оговаривается, что обе даты должны находиться в рамках одного года, то дату достаточно задать указанием дня и месяца. Количество дней любого месяца года не может быть более 31, количество месяцев в году равно 12. Значение переменной t равно true, если номер первого месяца меньше второго, либо значение первого дня меньше второго при условии, что номера месяцев совпали.
Program Example_61;
Var d1, d2: 1..31;
m1, m2: 1..12;
t: Boolean;
Begin
Write('Введите первую дату
(день, месяц)');
Readln(d1, m1);
Write('Введите вторую дату
(день, месяц) ');
Readln(d2, m2);
t:=(m1<m2) or ((m1=m2) and (d1<d2));
Writeln(t);
End.
§24. Оператор варианта (выбора)
Case <порядковая переменная> Of
<константа 1>: <оператор 1>;
<константа 2>: <оператор 2>;
<константа n>: <оператор n>;
[Else <оператор>;]
End;
Выполнение оператора выбора начинается с вычисления выражения, которое должно принимать значение порядкового типа. В случае если результат вычисления равен одной из перечисленных констант, то выполняется соответствующий оператор. Затем управление передается за пределы оператора выбора. Если значение выражения не совпадает ни с одной константой, то выполняется оператор, стоящий после Else, если он есть, либо управление передается на оператор, следующий за End.
Эта конструкция предназначена для замены конструкций из вложенных условных операторов и применяется для обработки ситуаций с несколькими исходами.