Комбинированный тип данных. Урок 1. 29.04
Массивы объединяют однородные единицы информации – элементы одного и того же типа. Но многообразие информации нельзя свести только к какому-то одному типу данных. Например, указывая положение точки в пространстве, мы можем воспользоваться одним и
тем же типом для указания ее координат, но, описывая человека, мы должны указать его имя, рост, цвет глаз и волос, то есть в одном описании объединим разнородную информацию. Точно так же, описывая автомобиль, мы укажем
не только его марку, но и год выпуска, модификацию, да и цвет кузова может нас заинтересовать. Составляя автоматизированный каталог книгохранилища, мы для каждой книги должны указать ее название, имя автора, область знания, количество страниц,
год издания, а также, возможно, признак нахождения на руках или в хранилище.
Данные такого рода, описывающие существенные стороны того или иного объекта путем включения в описание нескольких, часто разнотипных, элементов, называют записью (record). В языке Паскаль запись определяется путем указания
служебного слова record и перечисления входящих в запись элементов с указанием типов этих элементов.
Запись – структурированный комбинированный тип данных, состоящий из фиксированного числа компонент (полей) разного типа.
СТРУКТУРА типа данных ЗАПИСЬ
type {имя_записи}=record
{имя_поля1}:{тип};
{имя_поля2}:{тип};
...
{имя_поляN}:{тип;}
end;
var {имя_переменной}:{имя_записи};
НАПРИМЕР,
Type anketa=recordfio: string[45];
pol: char;
dat_r: string[8];
adres: string[50];
curs: 1..5;
grupp: string[3];
end;
После того, как определен тип записи Паскаля, можно определять переменную этого типа. Переменная определяется путем задания ее идентификатора и указания типа.
var {имя_переменной}:{имя_записи};
Теперь нам нужно узнать, как правильно получать доступ к элементам записи Паскаля. Элементы записи называются полями, а обращение к ним производится через использование их имен – идентификаторов полей. Практически, поля записи обрабатываются точно
так же, как и любые другие переменные. Но в отличие от обычной переменной имена полей должны предваряться ссылкой на идентификатор записи Паскаля и отделяться от него точкой. Такая запись называется уточняющий идентификатор:
<имя_записи>.<имя_поля>
Пример программы:
program paral_kl;
type kl=record
go:byte;
buk:string[2];
end;
var x,y:kl;
begin
writeln('введите наименования двух классов');
readln(x.go,x.buk);
readln(y.go,y.buk);
if (x.go=y.go) and (x.buk<>y.byk) then writeln('||') else writeln ('no');
end.
ДЗ: учебник В.Н. Попов, стр. 251, задания №3,5 + решить задачу: Известны температура (-5..5) и осадки (0..200, значения круглые) за неделю. Исходники сформированы рандомно. Известно, что при температуре >=0 идет дождь, а иначе -снег. Определить сколько за неделю суммарно выпало снега, а сколько дождя.
Прислать фото конспекта и файл задачи. Срок 30.04