Тема: Программирование с использованием записей.
Необходимые ведения: Описание записей, оператор присоединения.
Варианты заданий:
1. Описать комбинированный тип для представления следующего понятия:
1) дата (число, месяц, год);
2) семинар (предмет, преподаватель, номер группы, день недели, часы занятий, аудитория);
2. Ответить на следующие вопросы:
1) Верно ли, что все поля записи должны быть разных типов?
2) Почему при описании записи ее поля могут перечисляться в любом порядке?
3) Верно ли, что названия полей записи могут совпадать с именами переменных, констант и других объектов программы, но не могут совпадать с названиями полей записей?
3. Type Address = Record
City, Street : String[40];
Home, Floor : 1..999
End;
Var Ad1, Ad2 : Address;
Присвоить переменной Ad1 значение «Новосибирск, Красный проспект, д.8, кв.12». Переменной Ad2 присвоить то же значение, заменив в нем номер дома на 7 и номер квартиры на 21.
4. Type Decart = Record X, Y : Real End;
Polar = Record R, Fi : Real End;
Var D : Decart; P : Polar;
Описать процедуры Dc_Pl(D, P), преобразующую координаты точки на плоскости из декартовых D в полярные P и Pl_Dc(P, D), выполняющую обратное преобразование.
5. Type
Time = Record Hour : 0..23; Min, Sec : 0..59 End;
Описать
а) логическую функцию Early(T1 T2) для проверки, предшествует ли время Т1 времени Т2 (в пределах суток).
б) процедуру Interval(D,T1,T2), которая вычисляет время D, прошедшее от времени Т1 до времени Т2 : d = Т2 – T1 (считать, что Т2 > Т1).
6. Type Citizen = Record
Sename, City : String;
Address : Record Street : String;
Home, Floor : 1..99 End;
End;
List = Array[1..15] of Citizen;
Описать процедуру Ирония_Судьбы(С), которая печатает фамилии двух (любых) жителей из списка С, живущих в разных городах по одинаковому адресу.