- •Содержание
- •Раздел 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-памяти
- •Управление оверлейным буфером
- •Литература Основная и дополнительная литература
- •Перечень наглядных пособий, методических указаний, методических материалов и используемых в учебном процессе технических средств
Процедура Rewrite (f)
Процедура Rewrite (F) – открытие нового файла F. Данная процедура описана выше для файлов с типом (см.подразд. 5.3).
Отличие для текстовых файлов: файл F открывается только для записи (если текстовый файл F был открыт процедурой Rewrite, то из него читать нельзя, в него можно только писать).
После вызова процедуры Rewrite(F) значение функции Eof(F) всегда равно True.
Процедура Reset (f)
Процедура Reset (F) – открытие существующего файла F. Данная процедура описана выше для файлов с типом (см.подразд. 5.3).
Отличие для текстовых файлов: файл открывается только для чтения (из него можно только читать, писать в него нельзя).
Процедура Read ([f,] v1 [, v2, …, vn])
Процедура Read ([F, ] V1 [, V2, …, VN]) – считывает одно или несколько значений из текстового файла F в одну или несколько переменных Vi. Данная процедура описана выше для файлов с типом (см. подразд. 5.3).
Отличия при работе с текстовыми файлами:
файл должен быть открыт для чтения (процедурой Reset);
первый параметр может быть опущен (например, Read(X, Y)), в этом случае подразумевается стандартный входной текстовый файл Input;
при выполнении процедуры Read осуществляется преобразование очередного элемента файла из символьного представления к типу переменной Vi. Vi может иметь символьный, целочисленные, вещественные, строковый тип, тип массива символов или тип диапазона данных типов.
Если переменная V имеет тип Char, то из файла F в V считывается очередной символ, включая символы-разделители «Конец файла» (значение Chr(26) – #26), и «Конец строки» (Chr(13) – #13, Chr(10) – #10). Следующая процедура Read начинается со следующего символа в файле.
Если переменная V имеет арифметический тип, то пропускаются пробелы, символы табуляции, маркеры конца строки до появления цифровой комбинации. Считывание прекращается при достижении пробела, символа табуляции, маркера конца строки или маркера конца файла. Следующее чтение начинается с вышеперечисленных символов. Если в цифровой комбинации встретились запрещенные символы (например, буква вместо цифры), то возникает сообщение об ошибке ввода-вывода.
Если переменная V имеет тип String, то в нее передается столько символов, какова длина переменной V при объявлении (если длина V меньше длины текущей строки файла) или строка файла до маркера конца строки или маркера конца файла (если длина V больше длины строки файла). Маркер в строку не заносится. В первом случае по следующей операции чтения в переменную V будет передана очередная последовательность символов из первой строки файла в соответствии с длиной переменной V. Во втором случае следующая операция считывания начинается маркером конца строки, завершающим предыдущую строку. Но процедура Read не осуществляет переход на следующую строку файла после чтения. Таким образом, нельзя использовать последовательные вызовы процедуры Read для чтения последовательных строк, так как никогда не осуществится переход из первой строки во вторую. Первый вызов процедуры Read считает первый элемент, последующие вызовы будут возвращать строку нулевой длины. Поэтому при чтении из текстового файла в переменные типа String необходимо использовать не процедуру Read, а процедуру Readln.