2.47M
Категория: ПрограммированиеПрограммирование

Комбинированный тип данных – запись. Файлы последовательного доступа. Файлы прямого доступа

1.

Основа алгоритмизации и
программирования
«Комбинированный тип данных – запись. Файлы последовательного
доступа. Файлы прямого доступа»
Практическое занятие
Лекция
Кафедра цифровой экономики
Гринева Е.С.,преподаватель
14 декабря 2022 г.

2.

Цель занятия:
2
Изучить:
Комбинированный тип. Записи
Описание записей
Операции с записями
Оператор With
Работа с файлами записей*

3.

Комбинированный тип. Записи
Все структурированные типы данных, с которыми мы уже познакомились,
представляют собой совокупности однотипных величин. Но программирование часто
используют для моделирования каких-либо объектов или явлений. Для того чтобы
смоделировать объект, необходимо указать его характеристики. Так, например, 1)
объект окружность имеет следующие характеристики: координаты центра, радиус;
2) объект преподаватель имеет характеристики: фамилия, имя, отчество, название
предмета, который он преподает, номер группы, у которой он ведет свой предмет.
Указывать характеристики (свойства) объектов в программе гораздо удобнее, если
все свойства одного объекта объединить в одну группу. Для этого в Паскале
существует такой тип как записи. Запись – комбинация объектов разного типа.
Составляющие запись характеристики называются полями. В записи каждое поле
имеет свой идентификатор (имя). Так, например, полями для типа круг будут x, y, R.
Таким образом, комбинированный тип данных (запись) – это структурированный
тип, состоящий из фиксированного числа компонент (полей) разного типа.
3

4.

Описание записей
Описание комбинированного типа представляет собой список описаний его элементов
(полей). Описание записи выглядит следующим образом:
Type
<имя типа> = Record
<имя поля1> : <тип поля1>;
<имя поля2> : <тип поля2>;
End;
Здесь Record и End — служебные слова.
Поля могут иметь любой тип, в том числе они могут быть массивом или записью. В
разделе описания переменных можно описать переменные этого типа.
Пример:
Type
Round = Record
x, y : Real;
R : Real;
End;
Var
Circle1, Circle2 : Round;
4
Krugi : Array[1..5] Of Round;

5.

Операции с записями
Переменной типа запись можно присвоить только значение переменной такого же типа,
т.е.
Circle1:= Circle2;
Circle2:= Krugi[1];
Krugi[5]:= Krugi[3];
(см. Описание записей)
К каждому элементу записи можно обратиться, используя составное имя, которое
имеет следующую структуру:
<имя переменной> . <имя поля>
Пример:
Circle1.x := 5;
Circle1.y := 8;
Circle1.R := 2;
Read(Krugi[i].R);
Writeln(Krugi[i].x); и т.д.
5

6.

Оператор With
Легко заметить, что постоянно указывать имя записи – не очень удобно. Чтобы
облегчить работу программиста, существует оператор присоединения With. Общий
вид оператора With:
With <имя переменной> Do <оператор>;
В качестве оператора используется любой простой или составной оператор. В
операторе имя записи указывать не обязательно, достаточно указать имя поля.
Пример: часть программы
Circle1.x := 5;
Circle1.y := 8;
Circle1.R := 2;
может выглядеть следующим образом:
With Circle1 Do
Begin
x := 5; y := 8; R := 2;
End;
6

7.

Пример программы с использованием записи
Пример: сформировать список записей, содержащих информацию о десяти студентах
(фамилия, номер группы, 5 оценок за последнюю сессию). Вывести фамилии студентов
имеющих средний балл => 4.
7

8.

Работа с файлами записей*
Чаще всего записи используются как элементы файлов, составляющих компьютерные
информационные системы.
Прямой доступ к записям файла*
В стандарте языка Паскаль допустим только последовательный доступ к элементам файла.
Одной из дополнительных возможностей, реализованных в Турбо Паскале, является
прямой доступ к записям файла. Т. к. элементы файла пронумерованы в порядке их
занесения в файл, начиная с нуля, то, задав номер элемента файла, можно
непосредственно установить на него указатель. После этого можно читать или
перезаписывать данный элемент. Установка указателя на нужный элемент производится
процедурой:
Seek (FV, n)
Здесь FV — имя файловой переменной, n — порядковый номер.
8

9.

Пример программы
9

10.

Домашние задание
(Задание на самоподготовку)
1 выполнить задания несделанные во время
практики
10
English     Русский Правила