Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
5 Методическое пособие изучения Паскаль.doc
Скачиваний:
10
Добавлен:
01.03.2025
Размер:
743 Кб
Скачать
☆

Вопросы для самоконтроля

  1. Что понимается под множеством?

  2. Какие вы знаете операции над множествами в математике?

  3. Как записываются операции над множествами в языке ПАСКАЛЬ?

  4. Как задаются множества?

  5. Что такое пустое множество и как оно задается?

  6. Как организовать вывод элементов множества?

Глава 11 Сложный тип данных – записи.

    1. Понятие записи.

Во многих экономических и информационных задачах обрабатыва­ются ведомости, документы, каталоги, списки. При этом появляется необходимость объединять данные различного типа в одну группу. Для работы с группой данных в языке ПАСКАЛЬ введено понятие записи. Запись представляет собой совокупность ограниченного числа данных различного типа. Понятие записи рассмотрим на примере ведомости списка учащихся с их оценками (табл. 11.1).

Таблица 11.1

№ п/п

Фамилия И. О.

Оценки

1

Андреев С. Н.

5 3 4

2

Павликова Л. П.

5 5 5

3

Ростоцкий Ю. Т.

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)

Обращение к записи в целом, а не только к ее элементам, допус­кается лишь в операторе присваивания. Слева и справа от знака присваивания при этом должны использоваться имена записей оди­накового типа.