- •Содержание
- •Раздел 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-памяти
- •Управление оверлейным буфером
- •Литература Основная и дополнительная литература
- •Перечень наглядных пособий, методических указаний, методических материалов и используемых в учебном процессе технических средств
Процедура Assign
Любым другим процедурам ввода-вывода предшествует процедура Assign.
Формат ее заголовка:
Assign (Var F; Name: String)
Здесь F – имя файловой переменной любого типа; Name – выражение строкового типа.
Назначение процедуры – организует связь между конкретным физическим файлом на внешнем устройстве (конкретным набором данных) и файловой переменной программы (логическим файлом) F.
Имя конкретного набора данных определяется переменной Name. Name – это полное имя физического файла. В общем случае оно имеет вид:
<Диск>:\<Имя_каталога>\…\<Имя_каталога>\<Имя_файла>
<Диск> задается символом от A до Z (символ логического устройства). Если он опущен, то подразумевается логическое устройство, принятое по умолчанию.
\<Имя_каталога>\…\<Имя_каталога>\ - это путь через подкаталоги к фактическому имени файла. Если они опущены, то считается, что файл находится в текущем каталоге.
<Имя_файла> - фактическое имя файла. Оно может иметь максимально 8 символов. Затем может идти уточнение (тип файла) – максимально 3 символа, отделенное от имени точкой.
Например, можно определить такие имена файлов:
Rez Rez.pas Rez.exe Rez.txt Rez.dat
Уточнение помогает программисту, пользователю, системе программирования или операционной системе работать с файлами.
Пример полного имени файла:
A:\Katalog1\Katalog2\Rez.pas
Максимальная длина полного имени файла – 79 символов.
Чтобы связать файловую переменную (логический файл) F с физическим файлом Rez.dat нужно записать процедуру Assign со следующими параметрами:
Assign (F, ‘Rez.dat’);
или организовать связь в диалоге:
Var
St: String;
...
Begin
...
Writeln (‘Введите имя файла’);
Readln (St);
Assign (F, St);
Вместо имени физического файла в качестве параметра Name в списке фактических параметров процедуры Assign может использоваться любое устройство ввода-вывода (клавиатура, печать, дисплей и т. п.) В этом случае Name – это символическое (логическое) имя устройства ввода-вывода.
Для использования доступны следующие символические имена устройств.
Con
Con – устройство консоли (при вводе – это клавиатура, при выводе – экран дисплея).
Например, процедура
Assign (F, ‘Con’);
означает ввод в переменную F с клавиатуры или вывод из F на экран.
По умолчанию стандартные текстовые файлы Input и Output связаны с консолью, что соответствует следующему фрагменту программы:
Assign (Input, ‘Con’);
Assign (Output, ‘Con’);
Lpt1, Lpt2, Lpt3
Lpt1, Lpt2, Lpt3 – устройства печати. Если подключено одно устройство печати, то используется либо имя Lpt1 либо Prn:
Assign (F, ‘Prn’);
Assign (Output, ‘Prn’);
С данными логическими устройствами может использоваться только имя выходного файла.
Com1, Com2
Com1, Com2 – устойства последовательного ввода-вывода, используемые для обмена данными между компьютерами. Вместо Com1 может быть использовано имя ‘Aux’.
Nul
Nul – нулевое устройство. Для него при выводе не осуществляется никаких действий. При попытке чтения возникает ситуация конца файла.
Crt
Crt – устройство текстового ввода-вывода. Аналогично устройству Con, но имеет ряд дополнительных функций управления экраном (например, установка цветов, указание места на экране для вывода и т.п.). Crt не поддерживается операционной системой.
‘’
‘’ – использование пустой строки вместо имени Name. В этом случае файловая переменная F связывается с Con (по аналогии с пунктом а)). Например,
Assign (F, ‘’);
Процедура Assign всегда предшествует другим процедурам ввода-вывода. Ее нельзя применять к уже открытому файлу.