2015-12-28 14:25:15 +03:00
|
|
|
|
// Перечислимый тип
|
2015-05-14 22:35:07 +03:00
|
|
|
|
type Months = (January,February,March,April,May,June,July,August,September,October,November,December);
|
|
|
|
|
|
|
|
|
|
|
|
var m: Months;
|
|
|
|
|
|
|
|
|
|
|
|
begin
|
|
|
|
|
|
m := February;
|
|
|
|
|
|
writeln(m);
|
2015-12-28 14:25:15 +03:00
|
|
|
|
// Использование констант перечислимого типа после имени типа удобно: после точки intellisense показывает список констант
|
2015-05-14 22:35:07 +03:00
|
|
|
|
m := Months.April;
|
2015-12-28 14:25:15 +03:00
|
|
|
|
writeln('Следующий месяц: ',m);
|
2015-05-14 22:35:07 +03:00
|
|
|
|
Inc(m);
|
2015-12-28 14:25:15 +03:00
|
|
|
|
writeln('Следующий месяц: ',m);
|
2015-05-14 22:35:07 +03:00
|
|
|
|
m := Succ(m);
|
2015-12-28 14:25:15 +03:00
|
|
|
|
writeln('Следующий месяц: ',m);
|
2015-05-14 22:35:07 +03:00
|
|
|
|
m := Pred(m);
|
2015-12-28 14:25:15 +03:00
|
|
|
|
writeln('Предыдующий месяц: ',m);
|
2015-05-14 22:35:07 +03:00
|
|
|
|
Dec(m);
|
2015-12-28 14:25:15 +03:00
|
|
|
|
writeln('Предыдующий месяц: ',m);
|
|
|
|
|
|
writeln('Его порядковый номер (нумерация - с нуля): ',Ord(m));
|
|
|
|
|
|
// Ошибки нет
|
|
|
|
|
|
writeln('Месяц перед январем - выход за границы: ',pred(Months.January));
|
|
|
|
|
|
// Ошибки нет
|
|
|
|
|
|
writeln('Месяц после декабря - выход за границы: ',succ(Months.December));
|
2015-05-14 22:35:07 +03:00
|
|
|
|
end.
|