Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Каково назначение переменных файлового типа? Как могут быть определены такие переменные в Pascal-программе?



Для работы с файлами в программе должны быть определены переменные файловых типов, которые считаются представителями файлов в Pascal-программе.

Переменные файлового типа определяются по следующему правилу: <Имя переменной> : file of <базовый тип>; где «базовый тип» – любой допустимый в Turbo Pascal тип, кроме файлового типа.

Каков состав и каково назначение установочных и завершающих операций с файлами? Какие параметры используются при обращении к соответствующим процедурам?

В эту группу входят четыре операции, реализованные в виде стандартных процедур со следующими именами: Assign, Reset, Rewrite, Flush, Close.

Процедура Assign предназначена для установления связи между конкретным физическим файлом на магнитном носителе и переменной файлового типа, которая будет являться представителем этого файла в программе.

Правило обращения к процедуре Assign:

Assign (F, S);

F – имя файловой переменной,

S – строковое выражение, образующее имя файла по правилам, принятым в операционной системе MS-DOS (может включать в себя обозначение дисковода, цепочку каталогов и имя файла).

Процедура Reset(F) предназначена для открытия файлов для чтения. При этом файловая переменная F должна быть уже связана с конкретным дисковым файлом с помощью процедуры Assign.

Под открытием в данном случае понимается поиск файла на внешнем носителе, образование специальных системных буферов для обменов с ним и установка текущего указателя файла на его начало (то есть на нулевой элемент).

Процедура Reset(F) предполагает, что открываемый дисковый файл уже существует, в противном случае возникает ошибка.

Процедура Rewrite(F) предназначена для открытия файлов для записи. При этом файловая переменная F должна быть уже связана с конкретным дисковым файлом с помощью процедуры Assign.

Процедура Rewrite допускает, что открываемый файл может еще не существовать; в этом случае она создает заданный файл. Если же файл существует, то Rewrite очищает его.

Процедура Flush(F) используется для завершения обменов с файлом без его закрытия. Обмены с файлами всегда реализуются через некоторый буфер в оперативной памяти, поэтому в процессе записи в файл последние записываемые элементы могут еще находиться («застрять») в буфере. Процедура Flush вызывает принудительный сброс этих элементов в файл.

Процедура Close(F) завершает действия с файлом. При этом ликвидируются внутренние буферы, образованные при открытии файла, оставшиеся в буфере данные сохраняются в файле.

При помощи каких процедур реализуются операции ввода-вывода (чтения из файла и записи в файл)? Каким образом происходит выполнение этих процедур?

Операции ввода-вывода (чтения из файла и записи в файл) реализуются с помощью процедур: Read, Write.

Правила записи операторов:

Read(F, A, B, C,...);

Write(F1, X, Y, Z, ...);

F, F1 – имена файловых переменных, к которым были применены операции открытия Reset и Rewrite соответственно,

A, B, C – переменные, типы которых совпадают с базовым типом файловой переменной F,

X, Y, Z – выражения, типы которых совпадают с базовым типом файловой переменной F1.

Выполнение процедуры Read: начиная с текущей позиции указателя файла будут последовательно читаться значения, содержащиеся в файле. Каждое прочитанное значение будет присваиваться очередной переменной из тех, которые указаны в вызове процедуры. После чтения очередного значения указатель файла будет смещаться на следующую позицию. Если в процессе выполнения процедуры Read текущий указатель файла будет установлен на позицию, не содержащую информации (то есть будет достигнут конец файла), то чтение будет прекращено, процедура Read завершится преждевременно, и возникнет ситуация ‘конец файла». Возникновение этой ситуации можно проверить с помощью встроенной функции EOF.

При выполнении процедуры Write значение очередного выражения будет помещено в файл в место, отмеченное текущим указателем. После этого текущий указатель будет передвинут на одну позицию и действия повторятся для следующего выражения из списка параметров вызова процедуры Write.

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.