В языке Паскаль имеется два стандартных текстовых файла: Input и Output.
Input – это файл для ввода, чтение из которого равносильно вводу данных с клавиатуры. Например, если в программе используется оператор ввода Readln(a,b), то он выполняется аналогично оператору Readln(Input,a,b).
Файл Output – стандартный текстовый файл для вывода, запись в который приводит к выводу данных на экран. Аналогично предыдущему оператор вывода Writeln(a,b) будет выполняться как Writeln(Output,a,b).
Файлы Input и Output можно использовать только в консольных приложениях.
Возвращаясь к предыдущему примеру (в котором каждая запись представляла три вещественных числа), заметим, что не всегда данные имеют такую однородную структуру. Часто каждая запись представляет собой разнотипные данные о некотором объекте. К примеру, можно представить себе список студентов института. Для каждого студента необходимо задать такие данные, как фамилия, имя, отчество, факультет, на котором он обучается, номер группы и т.д., как показано в следующей таблице.
Фамилия
| Имя
| Отчество
| Факультет
| Группа
| …
|
Иванов
| Петр
| Николаевич
| ММ
|
| …
|
Петров
| Иван
| Алексеевич
| ЭТ
|
| …
|
…
| …
| …
| …
| …
| …
|
Каждый атрибут имеет свой тип. Как же можно описать такой список студентов в программе? Это можно сделать, например, с помощью нескольких массивов:
Пример
VAR
FIO:ARRAY [1..100,1..3] OF STRING;
Fakultet:ARRAY [1..100] OF (MM,RT,MT, … );
Group:ARRAY [1..100] OF Integer;
Такой способ во многих случаях является достаточно неудобным по целому ряду причин. Однако язык Паскаль позволяет описывать такие структуры по-другому.