- •Содержание
- •Раздел 1.Подпрограммы Общие сведения
- •Процедуры Описание процедур
- •Вызов процедур
- •Процедуры без параметров
- •Процедуры с параметрами
- •Параметры-значения
- •Параметры-переменные
- •Параметры-константы
- •Параметры-переменные без типа
- •Параметры процедурного типа
- •Использование производных типов в качестве параметров подпрограмм
- •Принцип локализации имен
- •Функции Описание функций
- •Вызов функции
- •Рекурсивные подпрограммы
- •Директивы
- •Библиотечные модули пользователя Общие сведения
- •Структура модуля Unit
- •Особенности работы с модулями
- •Подключение к программе внешнего файла
- •Раздел 2.Простейший ввод-вывод Процедуры ввода из стандартного текстового файла Input
- •248 15 4 70 Значения 1-й строки
- •11 Значения 2-й строки
- •Процедуры вывода в стандартный текстовый файл Output
- •Раздел 3.Записи Структура записи
- •Записи без вариантной части
- •Записи с вариантами
- •Оператор присоединения With
- •Константа-запись
- •Раздел 4.Множества Общие сведения
- •Конструктор множества
- •Задание множественного типа
- •Операции над множествами
- •Ввод / вывод значения множественной переменной
- •Типизованные константы-множества
- •Раздел 5.Файлы Общие сведения
- •Процедура Assign
- •Файлы с типом
- •Процедура Assign
- •Процедура Rewrite (f)
- •Процедура Write (f, v1 [, v2, … , vn])
- •Процедура Reset (f)
- •Процедура Read (f, V [, v2, …, vn])
- •Функция Eof(f)
- •Процедура Seek (f, n)
- •Функция Filepos (f)
- •Функция Filesize(f)
- •Процедура Close (f)
- •Текстовые файлы
- •Процедура Assign (f, Name)
- •Процедура AssignСrt(f)
- •Процедура Append (f)
- •Процедура Rewrite (f)
- •Процедура Reset (f)
- •Процедура Read ([f,] v1 [, v2, …, vn])
- •Процедура Readln [([f] [,] [v1, v2, …, vn])]
- •Процедура Write ([f,] e1 [, e2, …, en])
- •Процедура Writeln([f,][e1,e2, …,en])
- •Процедура Close(f)
- •Процедура SetTextBuf (f, Buf [, Size])
- •Процедура Flush (f)
- •Сравнительная характеристика представления информации в файлах с типом и текстовых файлах
- •I. Представление числовой информации.
- •II. Представление текстовой информации.
- •Файлы без типа
- •Процедуры Reset и Rewrite
- •Процедура Blockread
- •Процедура Blockwrite
- •Проверка операций ввода-вывода
- •Раздел 6.Ссылочный тип (тип указатель) Общие сведения
- •Методы работы с динамическими переменными
- •Процедуры New и Dispose
- •Процедуры Getmem и Freemem
- •Процедуры Mark и Release
- •Раздел 7.Динамические структуры данных Динамические цепочки Структура динамической цепочки
- •Формирование цепочки
- •Поиск элемента в цепочке
- •Удаление элемента из цепочки
- •Вставка элемента в цепочку
- •Линейный однонаправленный список
- •Двунаправленные списки
- •Вставка элемента
- •Создание двунаправленного кольцевого списка с заглавным звеном
- •Удаление элемента
- •Поиск элемента
- •Очереди и стеки
- •Очередь lifo
- •Очередь fifo
- •Общие сведения
- •Способы организации таблиц
- •Однонаправленный список.
- •Однонаправленный список с упорядоченными записями.
- •Однонаправленный список с отдельным хранением текста записи.
- •Представление в виде массива.
- •Двоичное дерево.
- •Двоичные деревья Структура двоичного дерева
- •Построение дерева
- •Поиск записи в дереве
- •Включение записи в дерево
- •Удаление записи из дерева
- •Раздел 8.Оверлеи Общие сведения
- •Правила оформления оверлейных программ
- •Инициализация работы оверлеев
- •Включение администратора оверлеев
- •Обработка ошибок администратора
- •Размещение оверлейного файла в ems-памяти
- •Управление оверлейным буфером
- •Литература Основная и дополнительная литература
- •Перечень наглядных пособий, методических указаний, методических материалов и используемых в учебном процессе технических средств
Файлы с типом
Состоят из однотипных компонент, тип которых указан при обьявлении.
Пример 5.1.
Примеры объявления файлов с типом.
Type
Zap = Record
I: Integer;
R: Real
End;
Var
F1: File Of Real;
F2: File Of Char;
F3: File Of String[50];
F4: File Of Zap;
F5: File Of Integer;
Здесь F1 - F5 – это файловые переменные.
Для работы с типизованными файлами существуют следующие процедуры и функции ввода-вывода:
Процедура Assign
Процедура Assign – связывает файловую переменную с внешним файлом на диске. Описана в п.5.2.
Процедура Rewrite (f)
Процедура Rewrite (F) – создает и открывает новый файл F.
Окно (позиция доступа) устанавливается на первую позицию файла.
Если файл был ранее открыт, то он предварительно закрывается, а затем повторно открывается.
Если ранее в файл были записаны какие-либо элементы, они становятся недоступными.
Результат выполнения процедуры Rewrite(F) изображает Рисунок 5 .38.
Рисунок 5.38 – Результат выполнения процедуры Rewrite(F)
Перед использованием процедуры Rewrite файл F должен быть связан с внешним файлом (набором данных) процедурой Assign.
Таким образом, процедура Rewrite создает новый внешний файл с именем, присвоенным переменной F процедурой Assign.
Процедура Write (f, v1 [, v2, … , vn])
Процедура Write (F, V1 [, V2, … , VN]) – записывает в ту позицию файла, на которую указывает окно, очередной элемент файла, равный значению переменной Vi. После записи переменной Vi окно сдвигается на следующую позицию файла. Если окно достигает конца файла, файл расширяется.
Результат выполнения процедуры Write (F, V1, V2) изображает Рисунок 5 .39.
Рисунок 5.39 – Результат выполнения процедуры Write (F, V1, V2)
Перед первым выполнением в программе процедуры Write файл обязательно должен быть открыт.
Пример 5.2.
Пример создания файла.
Var
F1: File Of Char;
X: Char;
Begin
Assign (F1, ‘Newfile’);
Rewrite (F1);
For I:=1 To 100 Do
Begin
<Операторы программы>
Write (F1, X) {X – переменная, получаемая при
выполнении программы}
End;
. . .
Процедура Reset (f)
Процедура Reset (F) – открывает существующий файлF.
Фактически при этом открывается внешний файл с именем, присвоенным переменной F процедурой Assign. Если файл с данным именем не существует, возникает сообщение об ошибке.
Окно файла устанавливается на первую позицию файла. Если файл был предварительно открыт, то он закрывается и повторно открывается.
Процедура Reset(F) может быть применена к файлу любое количество раз. При выполнении этой процедуры содержимое файла не изменяется.
Результат выполнения процедуры Reset(F) изображает Рисунок 5 .40.
Рисунок 5.40 – Результат выполнения процедуры Reset(F)
Процедура Read (f, V [, v2, …, vn])
Процедура Read (F, V [, V2, …, VN]) – обеспечивает чтение текущего элемента файла F (того элемента, на который указывает окно) в переменную Vi и передвигает окно на следующую позицию файла.
Чтение из файла с помощью процедуры Read можно производить только для предварительно открытого файла.
Файлы с типом всегда допускают как чтение, так и запись, независимо от того, были они открыты с помощью процедуры Reset или Rewrite.
Таким образом, доступна только та компонента файла, которая определена положением окна. Если необходима компонента, которая предшествует окну, то при последовательном доступе нужно установить окно на начало файла с помощью процедуры Reset, а затем, последовательно перебирая компоненты с помощью процедуры Read, дойти до нужной компоненты.
Результат выполнения процедуры Read (F,V1,V2) изображает Рисунок 5 .41.
Рисунок 5.41 - Результат выполнения процедуры Read (F, V1, V2)