Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Во многих экономических и информационных задачах обрабатываются ведомости, документы, каталоги, списки. При этом появляется необходимость объединять данные различного типа в одну группу. Для работы с группой данных в языке ПАСКАЛЬ введено понятие записи. Запись представляет собой совокупность ограниченного числа данных различного типа. Понятие записи рассмотрим на примере ведомости списка учащихся с их оценками (табл. 11.1).
Таблица 11.1
№ п/п | Фамилия И. О. | Оценки |
Андреев С. Н. | 5 3 4 | |
Павликова Л. П. | 5 5 5 | |
Ростоцкий Ю. Т. | 4 4 5 |
Каждая строка в этой ведомости состоит из отдельных элементов — данных различного типа:
а) порядковый номер — целое десятичное число;
б) Фамилия И.О. — массив символов;
в) оценки — массив целых чисел.
Эти данные можно объединить в одну группу и считать записью.
Запись в целом и отдельные ее элементы обозначаются именами. Введем, например, следующие обозначения: В - имя всей записи: N - порядковый номер; ФИО - фамилия, имя, отчество; ОЦЕНКА - оценки.
Обращение к элементу записи в программе выполняется с помощью уточненного (составного) имени. Уточненное имя содержит имя записи и имя элемента и записывается в следующем виде:
(*ИМЯ ЗАПИСИ. ИМЯ ЭЛЕМЕНТА*)
Например,
B.N
В.ФИО
В.Oценка
Записи, как и другие данные, объявляются в разделе описаний и используются в разделе операторов.
Объявленные записи можно делать в разделе переменных VAR или с использованием раздела типов TYPE.
Объявление записи в разделе переменных VAR имеет следующий вид:
VAR _ имя записи: RECORD
имя элемента 1: тип;
имя элемента 2: тип;
...
имя элемента n: тип;
END;
Здесь служебное слово RECORD (запись) выполняет роль открывающей операторной скобки, END — закрывающей операторной скобки. Внутри операторных скобок описываются элементы записи. Допускается вместо имени записи указывать список имен, т. е. имена записей, разделенные запятыми. Элементы записи вместе с их описанием называются полями записи.
Для представленной ведомости объявление записи выглядит следующим образом:
VAR B:RECORD
N: INTEGER
ФИО: PACKED ARRAY [1..20] OF CHAR;
ОЦЕНКА: ARRAY [1..3] OF INTEGER
END;
Здесь на фамилию выделен упакованный массив из 20 элементов (лишние позиции в фамилии можно заполнять пробелами), на оценки - массив из 3 элементов.
Рассмотрим более универсальную форму объявления записи — с использованием раздела типов TYPE. Объявление имеет вид:
TYPE_ имя типа: RECORD
имя элемента 1: тип;
имя элемента 2: тип;
...
имя элемента n: тип;
END;
VAR имя записи: имя типа;
Объявление ведомости можно сделать следующим образом:
TYPE ВЕДОМОСТЬ=RECORD;
N: ITNEGER;
ФИО: PACKED ARRAY [1..20] OF CHAR
ОЦЕНКА: ARRAY [1..3] OF INTEGER
END;
VAR В:ВЕДОМОСТЬ;
Здесь сначала введен тип записи с именем ВЕДОМОСТЬ, а затем указана переменная В, имеющая тип записи.
Элемент записи используется в программе в том же самом смысле, как и обычная переменная. Таким образом, элемент записи можно указывать как в левой части оператора присваивания, так и в выражениях. Над элементом записи можно выполнять действия, допустимые для данных его типа. Если тип элемента записи — целый, то выполняются все операции, допустимые для целых данных. Так, для рассмотренной ведомости над элементами записи можно произвести, например, следующие операции: порядковому номеру N записи В присвоить значение 2:
B.N: = 2
найти сумму трех оценок:
S: = В.ОЦЕНКА [1] + В. ОЦЕНКА [2] + В. ОЦЕНКА [3]
ввести значения порядкового номера:
READ(B,N)
Обращение к записи в целом, а не только к ее элементам, допускается лишь в операторе присваивания. Слева и справа от знака присваивания при этом должны использоваться имена записей одинакового типа.
Дата публикования: 2014-11-02; Прочитано: 538 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!