- •Содержание
- •Раздел 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-памяти
- •Управление оверлейным буфером
- •Литература Основная и дополнительная литература
- •Перечень наглядных пособий, методических указаний, методических материалов и используемых в учебном процессе технических средств
Процедура Readln [([f] [,] [v1, v2, …, vn])]
Процедура Readln [([F, ] [V1, V2, …, VN])] – выполняет процедуру Read, а затем переходит в начало следующей строки файла. Таким образом, после прочтения в переменные Vi данных из файла пропускаются все оставшиеся символы в текущей строке и маркер конца строки.
Если при вызове процедуры отсутствует список переменных V (Readln(F)), то происходит переход к следующей строке (если она существует) или к концу файла F.
Если имя файла в процедуре Readln опущено, то подразумевается стандартный входной текстовый файл Input.
Например,
Readln (X, Y, Z);
Readln;
Процедура Readln (F, V) определена только для текстовых файлов.
Процедура Write ([f,] e1 [, e2, …, en])
Процедура Write([F,] E1 [, E2, … , EN]) – записывает одно или несколько значений Ei в файл F. В общем случае E может быть выражением.
Процедура описана для файлов с типом (см. подразд. 5.3).
Отличия для текстовых файлов:
Файл должен быть открыт процедурой Rewrite или Append.
Если первый параметр (F) опущен, то подразумевается стандартный выходной текстовый файл Output. Например, Write(A, B).
При выполнении процедуры Write осуществляется преобразование выводимого значения из типа выражения E к символьному типу. Возможны следующие типы Ei: символьный, арифметические (целочисленные и вещественные), строковый, массив исмволов, логический и их диапазоны.
Для данных типа Char и String выводится непосредственно их значение.
Если Ei представляет собой арифметическое значение, то перед выводом в текстовый файл оно предварительно преобразуется из внутреннего значения в десятичную систему счисления, а затем представляется в коде ASCII (по байту на десятичную цифру).
Если Ei имеет тип Boolean, то выводится строка True или False.
Если не указан формат вывода, то под вывод всех типов Ei отводится столько символов, сколько минимально необходимо. Для вывода вещественных типов отводится 24 позиции, причем вещественное число будет выведено в виде мантиссы и порядка.
Значения Ei могут сопровождаться указанием формата вывода:
E: L1[: L2] .
Это позволяет управлять расположением данных по позициям строки. Подробно данные возможности описаны в подразд. 2.2.
Процедура Writeln([f,][e1,e2, …,en])
Процедура Writeln([F,][E1,E2, …,EN]) – выполняет процедуру Write, и затем записывает маркер конца строки в файл F.
Если отсутствует список выражений Ei, то записывается только маркер конца строки.
Если опущено имя файла, то подразумевается файл Output. Например,
Writeln(F);
Writeln(A, B, C);
Writeln;
Процедура определена только для текстовых файлов.
Процедура Close(f)
Процедура Close(F) – закрывает открытый файл F. Рассмотрена ранее при рассмотрении файлов с типом (см. подразд. 5.3). Особенностей для текстовых файлов нет.
Пример 5.8.
Последовательность использования процедур при работе с текстовым файлом.
Var
F: Text;
…
Begin
Assign (F, ’Data.txt’);
Rewrite (F); {Открытие файла F только для записи}
…
Write (F, A); {Запись в файл F значения некоторой переменной А,
полученной в ходе вычислений}
…
Reset (F); {Открытие файла F только для чтения. Перед этим
файл не обязательно должен быть закрыт. Это
выполняется автоматически процедурой Reset}
…
Read (F, B); {Чтение из файла F очередного значения в некоторую
переменную В}
…
Close (F); {Обязательное явное закрытие файла F перед
использованием процедуры Append. Связь с внешним
файлом при этом сохраняется. Поэтому повторное
использование процедуры Assign не нужно}
…
Append (F); {Открытие файла F для дополнения}
…
Write (F, C); {Запись в конец файла F значения некоторой
переменной С, полученной в ходе вычислений}
…
Close (F); {Закрытие файла F в конце работы с ним}
…
End.