
- •Лабораторная работа 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Задание
- •Библиографический список
- •Оглавление
Лабораторная работа 8.Структурированные типы данных. Файлы. Работа с типизированными файлами
8.1 Структурированный тип данных - файловый
ФАЙЛ
- именованная область внешней памяти или логическое устройство – потенциальный источник или приемник информации (с точки зрения программы).
- набор однотипных элементов, длина которого ограничивается только объемом внешней памяти (с точки зрения структурированного типа данных).
ВИДЫ ФАЙЛОВЫХ ПЕРЕМЕННЫХ И ИХ ОПИСАНИЕ:
ТИПИЗИРОВАННЫЕ ФАЙЛЫ
- компоненты фиксированной длины указанного при описании типа, что позволяет осуществить прямой доступ к компонентам. Описание:
-
VAR <ИМЯ1>: FILE OF <ТИП>;
Где <ТИП> - любой тип – тип элементов файла.
ТЕКСТОВЫЕ ФАЙЛЫ
- компоненты – строки переменной длины, доступ только последовательный. Описание:
-
VAR <ИМЯ2>: TEXT;
НЕТИПИЗИРОВАННЫЕ ФАЙЛЫ
- компоненты – двоичные блоки фиксированной емкости, информация из которых не интерпретируется, возможен прямой доступ. Описание:
-
VAR <ИМЯ3>: FILE;
ПРИМЕРЫ ОПИСАНИЙ ФАЙЛОВЫХ ТИПОВ И ПЕРЕМЕННЫХ
-
TYPE
F1=TEXT;
F2=FILE OF INTEGER;
{файловый тип данных, состоящий из целочисленных элементов типа INTEGER}
F3=FILE;
VAR
A0:F1; A1: TEXT; {два текстовых файла}
A2:F2; {файл из целых чисел типа INTEGER}
A3:F3; {двоичный файл}
8.2 Этапы работы с типизированными файлами
Описание файловой переменной
Связь переменной с физическим файлом
Инициализация (открытие) файла
Ввод/вывод в файл
Закрытие файла
8.2.1.Описание файловой переменной
При описании переменной для типизированного файла обязательно указывается тип элементов.
-
TYPE
FINT=FILE OF INTEGER;
{файловый тип данных, состоящий из целочисленных элементов типа INTEGER }
VAR
F1: FILE OF REAL; {файл из вещественных чисел типа REAL}
F2:FINT; {файл из целых чисел типа INTEGER}
8.2.2.Связь переменной с физическим файлом
ASSIGN (<ПЕРЕМЕННАЯ>,<ФАЙЛ>)
- связывает файловую переменную <ПЕРЕМЕННАЯ> с файлом, имя которого находится в строковой переменной или константе <ФАЙЛ>. Связь сохраняется до следующего оператора assign для данной переменной или до конца программной единицы, в которой определена указанная переменная.
ПРИМЕРЫ
-
ASSIGN(F1,’FFF.DAT’);
ASSIGN(F2,’INT.DAT’);
8.2.3.Открытие файла
REWRITE(<ФП>)
- открытие файла на запись, причем указатель помещается в начало файла (на нулевой элемент). Если файл существует, то его содержимое уничтожается. Если файл не существует, то он создается.
RESET(<ФП>)
-открытие файла на чтение/запись, причем указатель помещается в начало файла (на нулевой элемент). Если файл не существует, генерируется ошибка ввода/вывода.
КОРРЕКТНОЕ ОТКРЫТИЕ ФАЙЛА
-
{$I-} {отключить контроль ошибок ввода/вывода – директива компилятора}
RESET(A2); {открыть файл на чтение}
{$I+} {включить контроль ошибок ввода/вывода – директива компилятора}
IF IORESULT<>0 THEN {проверить функцию ошибки}
… {действия в случае ошибки – отсутствия файла на диске}
ELSE
… {действия в случае успешного открытия файла}