
- •Лабораторная работа 8.Структурированные типы данных. Файлы. Работа с типизированными файлами
- •8.1 Структурированный тип данных - файловый
- •8.2 Этапы работы с типизированными файлами
- •8.2.1.Описание файловой переменной
- •8.2.2.Связь переменной с физическим файлом
- •8.2.3.Открытие файла
- •8.2.4.Ввод/вывод в типизированный файл
- •8.2.5.Закрытие файла
- •8.3 Процедуры и функции для работы с файлами и каталогами
- •8.4 Задания
- •Лабораторная работа 9.Структурированные типы данных. Файлы. Работа с текстовыми файлами
- •9.1 Этапы работы с текстовыми файлами
- •9.1.1.Описание файловой переменной
- •9.1.2.Связь переменной с физическим файлом
- •9.1.3.Открытие файла
- •9.1.4.Ввод/вывод в текстовый файл
- •9.1.5.Закрытие файла
- •9.2 Задания
- •Лабораторная работа 10.Структурированные типы данных. Файлы. Создание и обработка файла матриц
- •10.1Задания
- •Лабораторная работа 11.Данных. Записи. Создание баз данных средствами турбо-паскаля
- •11.1Тип данных - запись
- •11.2Операции, используемые при работе с записями
- •11.3Вариантные записи
- •11.4Задания
- •13.1.2.Действия с указателями
- •13.1.3.С труктура оперативной памяти и компоненты динамической памяти
- •13.2Односвязный список
- •13.3Задание
- •Лабораторная работа 14.Указатели. Динамические структуры данных. Обработка двухсвязных списков
- •14.1Двухсвязные списки и кольца
- •14.2Задание
- •Библиографический список
- •Оглавление
Лабораторная работа 11.Данных. Записи. Создание баз данных средствами турбо-паскаля
11.1Тип данных - запись
ЗАПИСЬ
- это структура данных, состоящая из фиксированного числа компонентов – полей записи, но в отличие от массивов компоненты могут быть разных типов, а для удобства ссылки они именуются.
В памяти поля располагаются в той последовательности, в которой они перечислены в описании. Смещение от начала записи определяется размером предыдущих полей.
Описание:
-
TYPE <ИМЯ ТИПА>=RECORD
< СПИСОК ПОЛЕЙ>
END;
Где <СПИСОК ПОЛЕЙ> - список имен полей и их типов.
ПРИМЕРЫ:
-
TYPE
BirthDay= RECORD DAY,MONTH:BYTE; YEAR:WORD; END;
VAR
A,B:BirthDay; {две переменные типа день рождение}
C: RECORD NAME STRING[10]; BD:BirthDay; END;
{переменная содержит два поля: имя и день рождения}
11.2Операции, используемые при работе с записями
ОПЕРАЦИЯ УТОЧНЕНИЯ
используется для доступа к полям записи
ПРИМЕРЫ:
-
A.DAY:=1;
A.MONTH:=5; {дата 1 мая}
ОПЕРАЦИЯ ПРИСВАИВАНИЯ
ПРИМЕРЫ:
-
B:=A;
{все значения полей A копируются в B}
ОПЕРАТОР WITH…DO…
упрощает доступ к полям записи.
Описание:
-
WITH <СПИСОК ПОЛЕЙ> DO <ОПЕРАЦИЯ>;
НАПРИМЕР, СЛЕДУЮЩИЕ ЗАПИСИ РАВНОСИЛЬНЫ:
-
WITH C,BD DO MONTH:=4;
WITH C.BD DO MONTH:=4;
WITH C DO WITH BD DO MONTH:=4;
C.BD.MONTH:=4;
Обычно используется для группы операторов:
-
WITH C.BD DO BEGIN
MONTH:=4; YEAR:=2004; DAY:=1;
END;
11.3Вариантные записи
Используются для записей с переменной структурой полей.
Вариантная часть всегда одна и располагается в конце структуры после фиксированных полей. Для описания используется конструкция CASE…OF (без END)
Описание:
-
TYPE <ИМЯ ТИПА>=RECORD
< СПИСОК ФИКСИРОВАННЫХ ПОЛЕЙ>
CASE <ТИП> OF
<К1>:(<СПИСОК ПОЛЕЙ 1>);
…
<Кn>:(<СПИСОК ПОЛЕЙ n>);
END;
Где <ТИП> - любой базовый или пользовательский тип, причем константы <К1>,…, <Кn> могут и не относится к этому типу.
ПРИМЕР ВАРИАНТНОЙ ЗАПИСИ
-
TYPE
PUBLICATION= RECORD {тип - публикация}
AUTHOR,TITLE:STRING; {общие поля – автор, заголовок, год}
YEAR:WORD;
CASE BOOLEAN OF
BOOK:(BUBHOUSE:STRING: PAGES:WORD); {книга}
ARTICLE:(JOURNAL:STRING; NUMBERJ:BYTE;PREMIER,LAST:WORD); {статья}
PEPER:( NUMBERJR:BYTE; PREMIER,LAST:WORD); {реферат}
END;