Пример 1.
Const MaxLen = 25;
type t_range=1.. MaxLen;
t_date=record [Тип для работы с датами]
day : 1..31;
month : 1..12;
year : 0..9999
end; [end записано под соответствующим record]
t_student=record [Тип для хранения информации о студенте]
name : string[20];
birthday : t_date; [Поле-запись]
group : string[5];
marks : array[1..4] of 2..5
end;
t_group= array[t_range] of t_student;
var d1, d2 : t_date; [Переменные для хранения дат]
group : t_group;[Переменная для хранения информации о студентах группы]
Пример 2. Процедура для определения даты следующего дня невисокосного года:
Procedure next_date(d1: t_date; var d2: t_date);
[d1 - данная дата, d2 - результат (дата следующего дня)]
var max : 28..31; [число дней в месяце]
begin d2:=d1;
case d2.month of [Определение числа дней в заданном месяце]
2: max:=28;
4, 6, 9, 11: max:=30
else max:=31
end;
if d2.day<max then d2.day:= d2.day+1
else begin d2.day:= 1;
if d2.month<12 then d2.month:= d2.month+1
else begin d2.month:= 1; d2.year:= d2.year+1
end
end
end;