Как мы уже выяснили, массивы объединяют однородные единицы информации – элементы одного и того же типа. Но многообразие информации нельзя свести только к какому-то одному типу данных. Например, указывая положение точки в пространстве, мы можем воспользоваться одним и тем же типом для указания ее координат, но, описывая человека, мы должны указать его имя, рост, цвет глаз и волос, то есть в одном описании объединим разнородную информацию. Точно так же, описывая автомобиль, мы укажем не только его марку, но и год выпуска, модификацию, да и цвет кузова может нас заинтересовать. Составляя автоматизированный каталог книгохранилища, мы для каждой книги должны указать ее название, имя автора, область знания, количество страниц, год издания, а также, возможно, признак нахождения на руках или в хранилище.
Данные такого рода, описывающие существенные стороны того или иного объекта путем включения в описание нескольких, часто разнотипных, элементов, называют записью (record). В языке Паскаль запись определяется путем указания служебного слова record и перечисления входящих в запись элементов с указанием типов этих элементов.
Объяснение:
// Внимание! Если программа не работает, обновите версию!
type
Human=class
public
Name:string;
Age:string;
Height:string;
end;
begin
var h:=new Human;
Write('Привет, как тебя зовут:'); Readln(h.Name);
Write('Здорово ' ,h.Name,', а скажи-ка сколько тебе лет:');
Readln(h.Age);
if (h.Age).ToInteger>18 then Writeln('Здорово ты уже совершеннолетний!')
else Writeln('Ой! Да ты ещё совсем мал.');
Write('Окей, а какой же твой рост (см) :'); Readln(h.Height);
Writeln('Вот результаты. Твоё имя - ',h.Name,', тебе ' ,h.Age,
' лет, а рост - ',h.Height ,'см')
end.
Я не совсем понял смысла вводить тут класс, потому что работа с ним ведется, как с обыкновенной записью. Замените начало кода программы нижеследующим и убедитесь, что ничего не изменится.
type
Human=record
Name:string;
Age:string;
Height:string;
end;
begin
var h:Human;