
- •Внешние файлы
- •7.1Цель работы
- •7.2Задание
- •7.3Теоретические сведения
- •Структура физического файла
- •Структура логических файлов
- •Доступ к файлу, операции с файлами
- •Установка связи
- •Инициация файла
- •Процедуры чтения-записи
- •Закрытие доступа к файлу
- •Вспомогательные функции
- •Компоненты категории Dialogs
- •Основные свойства и методы tOpenDialog и tSaveDialog
- •Обработка типизованных файлов
- •Пример 1. Запись массива в типизованный файл
- •Пример 2. Запись в файл с использованием диалога
- •Пример 3. Чтение из типизованного файла
- •Пример 4. Чтение из типизованного файла с контролем ошибок
- •Обработка текстовых файлов Пример 5. Запись в тестовый файл
- •Пример 6. Добавление записей в конец тестового файла
- •Пример 7. Обработка текстового файла
- •Нетипизованные файлы
- •7.4Содержание отчета
- •7.5Контрольные вопросы
Внешние файлы
7.1Цель работы
Цель работы - приобретение навыков передачи данных из программы во внешний файл и из внешнего файла в программу.
7.2Задание
Разработайте программу записи во внешний файл несколько вещественных чисел. Разработайте другую программу, формирующую из данных внешнего файла массив, распечатайте этот массив.
Разработайте программу записи во внешний файл девяти случайных чисел. Разработайте другую программу, формирующую из данных внешнего файла двумерный массив 3х3, распечатайте этот массив.
Разработайте программу записи во внешний файл двумерный массив 3х3. Разработайте другую программу, формирующую из данных внешнего файла одномерный массив, распечатайте этот массив.
Разработайте программу записи во внешний файл нескольких случайных чисел. Разработайте другую программу, определяющую сумму чисел внешнего файла и количество чисел.
Разработайте программу записи во внешний файл нескольких случайных целых чисел. Разработайте другую программу, распечатывающую только чётные числа из внешнего файла.
Разработайте программу записи во внешний файл нескольких случайных целых чисел. Разработайте другую программу, распечатывающую только числа из внешнего файла кратные 3.
Разработайте программу формирования одномерного массива размером N. Нечётные числа запишите во внешний файл. Разработайте другую программу, распечатывающую числа из внешнего файла.
Разработайте программу записи во внешний файл несколько вещественных чисел. Разработайте другую программу, определяющую наименьшее значение из внешнего файла, распечатайте это значение.
7.3Теоретические сведения
Понятие файл имеет 2 стороны: физическое и логическое.
Под файлом физическим понимается именованная область внешней памяти (жесткого диска, гибкой дискеты, диска CD-ROM).
Логический файл – это наши представления о структуре данных.
Любой файл имеет 3 характерные особенности:
имя, что дает возможность программе работать одновременно с несколькими файлами;
файл может содержать компоненты любого типа кроме файлов. Иными словами, нельзя создать “файл файлов”;
размер вновь создаваемого файла не оговаривается при его объявлении и ограничивается только емкостью устройств внешней памяти.
Структура физического файла
Структура всех физических файлов одинакова.
байт |
байт |
… |
байт |
байт |
Структура логических файлов
Логические файлы классифицируют как типизованные, текстовые и нетипизованные. В описании файловых переменных указывают тип файла:
Var <Ф_имя> : File of <тип>; {Типизованный файл}
<Ф_имя> : TextFile; {Текстовый файл}
<Ф_имя> : File; {Нетипизованный файл}
<Ф_имя> - имя файловой переменной (правильный идентификатор);
File, of - зарезервированные слова (файл, из);
Text - имя стандартного типа текстовых файлов;
<тип> - любой тип, кроме файлов.
Типизованные файлы состоят из компонентов одного типа, кроме последнего, который является кодом, определяющим конец файла (Eof).
Var F1 : File of Byte;
байт |
байт |
… |
байт |
Eof |
Eof - #26 – <Ctrl+Z> - признак конца файла
Var F2 : File of Integer;
Integer |
Integer |
… |
Integer |
Eof |
Type Rec = Record
P1 : Byte
P2 : Char;
P3 : Real;
End;
Var F3 : File of Rec;
-
Byte
Char
Real
Byte
…
Real
Eof
Текстовые файлы представляют как последовательность кодов символов образующих строки, конец строки определяет код EoLn, конец файла определяет код Eof.
Var Ft : TextFile;
Код символа |
Код символа |
………. |
Код символа |
EoLn |
|
Код символа |
Код символа |
………. |
EoLn |
|
|
Код символа |
Код символа |
………. |
Код символа |
Код символа |
Eof |
EoLn – последовательность 2 символов - #13 (возврат каретки) и #10 – (перевод строки).
Нетипизованные файлы, о логической структуре файла нам ничего не известно, кроме Eof.
Var Fn: File;