Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа №9.doc
Скачиваний:
11
Добавлен:
22.02.2015
Размер:
96.77 Кб
Скачать

Лабораторная работа № 9 структурированные типы данных. Файлы. Работа с типизированными файлами

1.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; {двоичный файл}

2.1Этапы работы с типизированными файлами

  • Описание файловой переменной

  • Связь переменной с физическим файлом

  • Инициализация (открытие) файла

  • Ввод/вывод в файл

  • Закрытие файла

2.1.1Описание файловой переменной

При описании переменной для типизированного файла обязательно указывается тип элементов.

TYPE

FINT=FILE OF INTEGER;

{файловый тип данных, состоящий из целочисленных элементов типа INTEGER }

VAR

F1: FILE OF REAL; {файл из вещественных чисел типа REAL}

F2:FINT; {файл из целых чисел типа INTEGER}

2.1.2Связь переменной с физическим файлом

  • ASSIGN (<ПЕРЕМЕННАЯ>,<ФАЙЛ>)

- связывает файловую переменную <ПЕРЕМЕННАЯ> с файлом, имя которого находится в строковой переменной или константе <ФАЙЛ>. Связь сохраняется до следующего оператора assign для данной переменной или до конца программной единицы, в которой определена указанная переменная.

ПРИМЕРЫ

ASSIGN(F1,’FFF.DAT’);

ASSIGN(F2,’INT.DAT’);

2.1.3 Открытие файла

REWRITE(<ФП>)

- открытие файла на запись, причем указатель помещается в начало файла (на нулевой элемент). Если файл существует, то его содержимое уничтожается. Если файл не существует, то он создается.

RESET(<ФП>)

-открытие файла на чтение/запись, причем указатель помещается в начало файла (на нулевой элемент). Если файл не существует, генерируется ошибка ввода/вывода.

КОРРЕКТНОЕ ОТКРЫТИЕ ФАЙЛА

{$I-} {отключить контроль ошибок ввода/вывода – директива компилятора}

RESET(A2); {открыть файл на чтение}

{$I+} {включить контроль ошибок ввода/вывода – директива компилятора}

IF IORESULT<>0 THEN {проверить функцию ошибки}

{действия в случае ошибки – отсутствия файла на диске}

ELSE

{действия в случае успешного открытия файла}