Основы алгоритмизации и программирования. Часть четвертая. Файловая система Turbo Pascal. Асламова В.С - 5 стр.

UptoLike

9
Таблица 1. Физические файлы
Имя Расшифровка устройства Примечание
CON Консоль (клавиатура и экран)
Ввод из CON – это ввод данных
с клавиатуры;
Вывод в CON – это вывод дан-
ных на экран
LPT1
LPT2
LPT3
Параллельные порты
(типа Centronix) номер 1..3
(если установлены)
Через эти имена файлов проис-
ходит вывод данных на принтер
или другие устройства с интер-
фейсом типа Centronix
PRN Принтер. Синоним имени LPT1 Имя обращения к принтеру,
включенному в порт LPT1
СОМ1
СОМ2
Последовательные, серийные
порты (типа RS-232) номер 1..2
(если установлены)
Имена файлов устройств для
вводавывода данных через се-
рийные порты коммуникации
AUX Синоним имени СОМ1 Файл - устройство СОМ1
NUL Фиктивное устройство Это бездонный файл
Физические файлы - устройства организуются как текстовые файлы, и
для нормальной работы их надо связывать с текстовыми логическими файла-
ми, хотя, если понадобится, можно устанавливать связь и с бестиповыми
файлами (например, при работе с COM1 или COM2).
Серийные порты - двусторонние. Позволяют считывать из себя и при-
нимать данные. “ФайлпустышкаNUL нужен для отладки программ,
использующих другие порты. Имена физических файлов - устройств должны
быть записаны также как и в таблице: без точек и прочих знаков после них.
Регистр букв роли не играет: CON, con - консоль, PRN - принтер. Можно
приписывать после имени устройства двоеточие, но лучше обходиться без
этого. Так, PRN и PRN:одно и то же.
Любой объявленный логический файл имеет смысл только после связи
с внешним физическим файлом.
10
Понятие буфера вводавывода
С файловой системой Турбо Паскаля связано понятие буфера ввода -
вывода. Ввод или вывод данных осуществляется через буфер.
Буфер - это область в памяти, отводимая при открытии файла. При за-
писи в файл вся информация вначале направляется в буфер и там
накапливается до тех пор, пока весь объем буфера не будет заполнен. Только
после этого или после специальной команды сброса буфера происходит пе-
редача данных по назначению: на диск, принтер и т. д. Аналогично при
чтении из файла считывается столько данных, сколько поместится в буфере,
а не столько, сколько запрашивается. Если, например, считывается 4 числа, а
в буфер вмещается 64, то следующие 60 чисел будут считываться затем уже
из буфера.
Механизм буферизации позволяет более быстро и эффективно обме-
ниваться информацией с различными устройствами. Для текстовых и
бестиповых файлов можно установить размер буфера по своему усмотрению.
Вывод текстовой информации на экран реализован так, что эффект
буферизации исчезает автоматически, иначе компьютер постояннонедого-
варивал бысвои ответы.
Общие процедуры для работы
с файлами любого типа
Турбо Паскаль вводит ряд стандартных процедур, применимых к фай-
лам любых типов. Кроме этого, существует ряд их расширений и
специальных процедур для работы с различными типами файлов. Описание
процедур ввода и вывода Write, Writeln, Read, Readln не включены в раздел,
так как они сильно различаются при работе с разными типами файлов, а ино-
гда (при работе с бестиповыми файлами) вовсе теряют смысл.
В Турбо Паскале не определены процедуры ввода и вывода в файлы
Get(f) и Put(f), и их функции выполняют другие процедуры ввода - вывода.
Не определено также обращение к буферной переменной f^.
                                              Таблица 1. Физические файлы                       Понятие буфера ввода – вывода
  Имя      Расшифровка устройства              Примечание
 CON     Консоль (клавиатура и экран) Ввод из CON – это ввод данных                  С файловой системой Турбо Паскаля связано понятие буфера ввода -
                                     с клавиатуры;                             вывода. Ввод или вывод данных осуществляется через буфер.
                                      Вывод в CON – это вывод дан-                   Буфер - это область в памяти, отводимая при открытии файла. При за-
                                     ных на экран                             писи в файл вся информация вначале направляется в буфер и там
 LPT1 Параллельные порты              Через эти имена файлов проис-
 LPT2 (типа Centronix) номер 1..3    ходит вывод данных на принтер            накапливается до тех пор, пока весь объем буфера не будет заполнен. Только
 LPT3 (если установлены)             или другие устройства с интер-           после этого или после специальной команды сброса буфера происходит пе-
                                     фейсом типа Centronix                    редача данных по назначению: на диск, принтер и т. д. Аналогично при
 PRN  Принтер. Синоним имени LPT1 Имя обращения к принтеру,                   чтении из файла считывается столько данных, сколько поместится в буфере,
                                     включенному в порт LPT1                  а не столько, сколько запрашивается. Если, например, считывается 4 числа, а
 СОМ1 Последовательные, серийные      Имена файлов устройств для              в буфер вмещается 64, то следующие 60 чисел будут считываться затем уже
 СОМ2 порты (типа RS-232) номер 1..2 ввода – вывода данных через се-
                                                                              из буфера.
      (если установлены)             рийные порты коммуникации
                                                                                     Механизм буферизации позволяет более быстро и эффективно обме-
 AUX  Синоним имени СОМ1              Файл - устройство СОМ1
                                                                              ниваться информацией с различными устройствами. Для текстовых и
 NUL  Фиктивное устройство            Это бездонный файл
                                                                              бестиповых файлов можно установить размер буфера по своему усмотрению.
                                                                                     Вывод текстовой информации на экран реализован так, что эффект
       Физические файлы - устройства организуются как текстовые файлы, и      буферизации исчезает автоматически, иначе компьютер постоянно “недого-
для нормальной работы их надо связывать с текстовыми логическими файла-       варивал бы” свои ответы.
ми, хотя, если понадобится, можно устанавливать связь и с бестиповыми
файлами (например, при работе с ′COM1′ или ′COM2′).                                              Общие процедуры для работы
       Серийные порты - двусторонние. Позволяют считывать из себя и при-
                                                                                                   с файлами любого типа
нимать данные. “Файл – пустышка” ′NUL′ нужен для отладки программ,
использующих другие порты. Имена физических файлов - устройств должны
                                                                                     Турбо Паскаль вводит ряд стандартных процедур, применимых к фай-
быть записаны также как и в таблице: без точек и прочих знаков после них.
                                                                              лам любых типов. Кроме этого, существует ряд их расширений и
Регистр букв роли не играет: ′CON′, ′con′ - консоль, ′PRN′ - принтер. Можно
                                                                              специальных процедур для работы с различными типами файлов. Описание
приписывать после имени устройства двоеточие, но лучше обходиться без
                                                                              процедур ввода и вывода Write, Writeln, Read, Readln не включены в раздел,
этого. Так, ′PRN′ и ′PRN:′ – одно и то же.
                                                                              так как они сильно различаются при работе с разными типами файлов, а ино-
       Любой объявленный логический файл имеет смысл только после связи
                                                                              гда (при работе с бестиповыми файлами) вовсе теряют смысл.
с внешним физическим файлом.
                                                                                     В Турбо Паскале не определены процедуры ввода и вывода в файлы
                                                                              Get(f) и Put(f), и их функции выполняют другие процедуры ввода - вывода.
                                                                              Не определено также обращение к буферной переменной f^.




                                    9                                                                             10