Описание
Разбор на примере
При работе с массивами основное ограничение заключается в том, что каждый элемент должен иметь один и тот же тип. Но при решении многих задач возникает необходимость хранить и обрабатывать совокупности данных различного типа.
Пример
Для каждого из 25 учеников класса известны фамилия и оценка (в баллах) по пяти дисциплинам. Требуется вычислить среднюю оценку каждого ученика и выбрать человека, имеющего максимальный средний балл.
В данном случае фамилия может быть представлена строкой из 15 символов, оценка - это целое число, а средний балл должен быть представлен вещественным (действительным) числом. В Паскале для описания комбинаций объектов разных типов используются записи.
Запись - это структурированный тип, содержащий набор объектов разных типов. Составляющие запись объекты называются ее полями. В записи каждое поле имеет свое собственное имя. Чтобы описать запись, необходимо указать ее имя, имена объектов, составляющих запись и их типы. Общий вид такой:
Type
"имя записи" = Record
"поле 1" : "тип 1";
"поле 2" : "тип 2";
...
"поле n" : "тип n"
End;
Данные для решения рассматриваемой задачи можно описать как запись следующим образом:
Type
pupil = Record
fam: String[15]; {поле фамилии ученика}
b1, b2, b3, b4, b5 : 2...5; {поля баллов по дисциплинам}
sb : Real {поле среднего балла}
End;;
Запись
Переменная типа puple будет иметь смысл структуры, содержащий информацию, характеризующую одного ученика. Организация этой структуры показана на рис.1.
Чтобы хранить в памяти ЭВМ информацию о всех 25 учениках класса, необходимо ввести массив klass, представляющий массив записей:
Var klass : Array[1.25] Of pupil;