Комбинированный тип данных. Урок 1. 29.04

Массивы объединяют однородные единицы информации – элементы одного и того же типа. Но многообразие информации нельзя свести только к какому-то одному типу данных. Например, указывая положение точки в пространстве, мы можем воспользоваться одним и тем же типом для указания ее координат, но, описывая человека, мы должны указать его имя, рост, цвет глаз и волос, то есть в одном описании объединим разнородную информацию. Точно так же, описывая автомобиль, мы укажем не только его марку, но и год выпуска, модификацию, да и цвет кузова может нас заинтересовать. Составляя автоматизированный каталог книгохранилища, мы для каждой книги должны указать ее название, имя автора, область знания, количество страниц, год издания, а также, возможно, признак нахождения на руках или в хранилище.

Данные такого рода, описывающие существенные стороны того или иного объекта путем включения в описание нескольких, часто разнотипных, элементов, называют записью (record). В языке Паскаль запись определяется путем указания служебного слова record и перечисления входящих в запись элементов с указанием типов этих элементов.

Запись  – структурированный комбинированный тип данных, состоящий из фиксированного числа компонент (полей) разного типа.

СТРУКТУРА типа данных ЗАПИСЬ


type {имя_записи}=record

    {имя_поля1}:{тип};

     {имя_поля2}:{тип};

                ...

     {имя_поляN}:{тип;}

end;

var  {имя_переменной}:{имя_записи};

НАПРИМЕР,

Type anketa=record 

 fio: 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

Последнее изменение: Wednesday, 29 April 2020, 00:23