Лабораторная работа №8
Тема: Разработка программ с использованием множеств и записей. Цель работы: познакомиться с понятием «запись», научиться применять записи в составлении программ.
Теоретические сведения В настоящее время вычислительная техника находит широкое применение в различного рода информационных системах. Они имеются в больших библиотеках, торговле, производстве, адресных бюро и т.д. В информационных системах довольно часто приходится иметь дело с комбинациями разнотипных объектов. В Паскале комбинациями разного типа являются записи. Составляющие запись объекты называются полями. В записи каждое поле имеет своё собственное имя. Упрощённая форма определения записи включает указание имени записи, имён отдельных компонентов (полей) и соответствующих им типов данных. TYPE < имя записи >= RECORD < имя поля 1 >: < тип > < имя поля 2 >: < тип > ………………………… < имя поля N >: < тип > END; Например, для решения задачи определения среднего балла, имея данные по пяти дисциплинам для конкретного студента, запись может иметь вид: TYPE STR = RECORD FAM: STRING[20]; B1, B2, B3, B4, B5:1..5; SB: REAL; END; Здесь FAM обозначает строку символов для хранения фамилии студента, В1, B2, B3, B4, B5 – баллы по соответствующим дисциплинам, SB – средний балл. Переменная типа STR имеет смысл записи, содержащей информацию об одном студенте. Если требуется хранить информацию не по одному студенту, а по 25, то можно ввести массив записей TBL: VAR TBL: ARRAY [1..25] OF STR; Обращение к полям записи осуществляется посредством составного имени: <имя переменной-записи>.<имя поля> Возможны, например, такие операторы присваивания: TBL[ 3 ].FAM:= “Иванов”; TBL[ 20 ].B2:=5; TBL[ K+1 ].SB:=4.666; Имена компонент внутри записи не должны повторяться. Значения записи можно пересылать в другие переменные – записи с помощью операторов присваивания. Возвращаясь к рассмотренному примеру, можно записать: TYPE STR= RECORD FAM: STRING[20]; B1, B2, B3, B4, B5:2..5; SB: REAL END; VAR Z1, Z2: STR; BEGIN - - - - - - - - Z1:=Z2; Указанный в программе оператор присваивания эквивалентен следующим операторам: Z1.FAM:= Z2.FAM; Z1.B1:= Z2.B2; Z1.B2:= Z2.B2; Z1.B3:= Z2.B3; Z1.B4:= Z2.B4; Z1.B5:= Z2.B5; Z1.SB:= Z2.SB; При обращении к компонентам записи мы сталкиваемся с необходимостью указать в отдельных операторах составных имён, что приводит к удлинению программы и излишней громоздкости. Для устранения этого неудобства в языке Паскаль используется оператор WITH, который позволяет осуществлять доступ к компонентам записи таким образом, как если бы они были простыми переменными. Общий вид оператора: With < имя записи > do < оператор >; Внутри оператора к компонентам записи можно обращаться только с помощью имени компоненты.
Задание Взять задание из таблицы 1 согласно варианту и составить программу.
Контрольные вопросы. 1. Что такое запись? 2. Из чего состоит запись? 3. Как находятся компоненты массива записей? 4. Общий вид и принцип работы оператора WITH? 5. Каким образом работает алгоритм упорядочивания списка?
Литература. 1.Новичков В.С. Паскаль - В.С. Новичков, Н.И. Парфилова, А.Н. Пилькик. - М.: Высш. школа, 1990-223с. 2.Боон К. Паскаль для всех.
Таблица 1
|