что такое файловая переменная

Файлы в Pascal. Понятия файла и файловой переменной. Внешние файлы

Файлы в Pascal.

что такое файловая переменная. Смотреть фото что такое файловая переменная. Смотреть картинку что такое файловая переменная. Картинка про что такое файловая переменная. Фото что такое файловая переменная
Файлы в Pascal.

Введение файлового типа в язык Паскаль вызвано необходимостью обеспечить возможность работы с периферийными (внешними) устройствами ЭВМ, предназначенными для ввода, вывода и хранения данных.

Файл – совокупность данных, записанная во внешней памяти под определенным именем.
Файловый тип переменной – структурированный тип, представляет собой совокупность однотипных элементов, количество которых заранее не определено.

Обработка типизированных файлов.

Переменную файлового типа описывают одним из двух способов:
Тип может быть любым, кроме файлового.

Стандартные процедуры и функции

— связывает файловую переменную f с физическим файлом, полное имя которого задано в строке x. Установленная связь будет действовать до конца работы программы, или до тех пор, пока не будет сделано переназначение.

После связи файловой переменной с дисковым именем файла нужно открыть файл.

открывает для записи файл и очищает его.

закрывает открытый до этого файл с файловой переменной f. EOF(f) возвращает значение TRUE, когда при чтении достигнут конец файла.

позволяет переименовать физический файл на диске, связанный с файловой переменной f. Переименование возможно после закрытия файла.

уничтожает физический файл на диске, который был связан с файловой переменной f. Файл к моменту вызова процедуры Erase должен быть закрыт.

Чтение из текстового файла

Процедуры читают информацию из файла f в переменные. Способ чтения зависит от типа переменных, стоящих в списке. Отличие ReadLn от Read в том, что в нем после прочтения данных пропускаются все оставшиеся символы в данной строке, включая метку конца строки. Если список переменных отсутствует, то процедура ReadLn(f) пропускает строку при чтении текстового файла.

Запись в текстовый файл

Процедуры записывают информацию в текстовый файл. WriteLn от Write отличается тем, что после записи всех значений из переменных записывает еще и метку конца строки (формируется законченная строка файла).

Источник

Файловая переменная

Дата добавления: 2014-09-02 ; просмотров: 2789 ; Нарушение авторских прав

Каждому файлу ставится в соответствие уникальная файловая переменная. Кроме того, обычными программными средствами нельзя создать программы, позволяющие взаимодействовать с устройствами ввода-вывода, кроме терминалов пользователя. Своеобразным «окном» между программами и внешними устройствами является файловая переменная. Поэтому в каждой программе, где предусматривается взаимодействие с устройствами ввода-вывода, организуется определённым образом логическая связь устройства ввода-вывода с файловой переменной.

Пример:

FIO: array [1..10] of char;

Тогда любая переменная типа F – это последовательный файл, состоящий из записей. Каждая запись имеет 2 поля: FIO (фамилия) и God (год рождения).

Переменные файлового типа, как и обычные переменные, описываются в разделе переменных: Var C: F;

С переменной С автоматически связана некоторая буферная переменная, относящаяся к типу компонентов файла и представляющая собой своеобразное «окно», через которое можно просматривать или записывать очередные компоненты. В любой момент доступен только один компонент файла – тот, что виден через буферную переменную.

С каждой файловой переменной связано понятие текущего указателя, это некоторая скрытая переменная, означающая (или указывающая) конкретный элемент файловой структуры. Все элементы файла считаются пронумерованными, начиная с нулевого.

Описание файла в разделе описания переменных:

Var Myfile: File of Integer;

Это означает, что в прграмме под файловым именем Myfile понимается неопределённое количество целых чисел, которые в виде физического файла могут располагаться на некотором внешнем уровне.

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

Если программа взаимодействует с внешними файлами (хранимыми на диске), то файлы должны быть описаны в программе либо явно в разделе переменных Var, либо с использованием раздела типов Type.

Var имя файла: File of базовый тип

Пример:Var FT: File of char; (* файл символьных данных *)

Finp: File of real; (* файл действительных данных *)

М: File of integer; (* файл целых данных * )

Файлы символьных данных называются текстовыми файлами.

Определение данных с использованием раздела описания типов Type делает программу более универсальной и упрощает отладку программы.

Type имя типа = File of базовый тип;

Var имя переменной: имя типа;

Пример:Type T = File of Char;

Здесь Т – введённое нами имя типа.

Пример описания файловых типов и переменных:

Type SS = file of Char;

Table: file of string [50];

Base: file of person;

Data: file of integer;

Файловые переменные имеют специфическое применение. Над ними нельзя выполнять никакие операции (присваивать значение, сравнивать и т.д.). Их можно использовать лишь для выполнения операций с файлами (чтения, записи, удаления файла и т.д.). Кроме того, через файловую переменную можно получить информацию о конкретном файле (тип, параметры, имя файла и т.д.).

Не нашли то, что искали? Google вам в помощь!

Источник

Тема №10: Файлы. Типизированные файлы. Текстовые файлы

что такое файловая переменная. Смотреть фото что такое файловая переменная. Смотреть картинку что такое файловая переменная. Картинка про что такое файловая переменная. Фото что такое файловая переменная

ТЕМА №10: ФАЙЛЫ. ТИПИЗИРОВАННЫЕ ФАЙЛЫ. ТЕКСТОВЫЕ ФАЙЛЫ.

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

Файлы – это массив переменной длины неограниченного размера.

Файл может находиться в составе другой сложной структуры, но не должен входить в другой файл.

Отличие файла от массива:

А) размещение на внешнем носителе;

Б) длина файла не задается;

В) место элемента не определяется индексом.

что такое файловая переменная. Смотреть фото что такое файловая переменная. Смотреть картинку что такое файловая переменная. Картинка про что такое файловая переменная. Фото что такое файловая переменная
что такое файловая переменная. Смотреть фото что такое файловая переменная. Смотреть картинку что такое файловая переменная. Картинка про что такое файловая переменная. Фото что такое файловая переменная
что такое файловая переменная. Смотреть фото что такое файловая переменная. Смотреть картинку что такое файловая переменная. Картинка про что такое файловая переменная. Фото что такое файловая переменная
что такое файловая переменная. Смотреть фото что такое файловая переменная. Смотреть картинку что такое файловая переменная. Картинка про что такое файловая переменная. Фото что такое файловая переменная
что такое файловая переменная. Смотреть фото что такое файловая переменная. Смотреть картинку что такое файловая переменная. Картинка про что такое файловая переменная. Фото что такое файловая переменнаячто такое файловая переменная. Смотреть фото что такое файловая переменная. Смотреть картинку что такое файловая переменная. Картинка про что такое файловая переменная. Фото что такое файловая переменная
что такое файловая переменная. Смотреть фото что такое файловая переменная. Смотреть картинку что такое файловая переменная. Картинка про что такое файловая переменная. Фото что такое файловая переменная

Для обозначения файла и работе с ним используется файловая переменная (ФП).

что такое файловая переменная. Смотреть фото что такое файловая переменная. Смотреть картинку что такое файловая переменная. Картинка про что такое файловая переменная. Фото что такое файловая переменная

Особенности файловой переменной:

Ей нельзя присваивать какие-либо значения

Она не может участвовать в логических операциях

Она не может входить в математические выражения

Объявление файловой переменной

Файл объявляется в разделе описания переменных с указанием типа элементов файла.

Источник

Pascal | Лекция №9

Файлы. Файловые переменные

СОДЕРЖАНИЕ:

Организация доступа к файлам

С термином «файл» вам уже приходилось встречаться. Прежде всего, это понятие обычно связывают с информацией на устройствах внешней памяти. В Паскале понятии файла употребляется в двух смыслах:

В программе между этими объектами устанавливается связь. Вследствие этого все, что происходит в процессе выполнения программы с внутренним файлом, дублируется во внешнем файле. С элементами файла можно выполнять только две операции: читать из файла и записывать в файл.

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

Для работы с файлом при описании переменных необходимо определить переменную файлового типа, которая будет считаться «представителем» этого файла в данной программе. Такая переменная называется также указателем. Структура описания файловой переменной:

В качестве базового типа можно использовать любой тип, за исключением типа File.

что такое файловая переменная. Смотреть фото что такое файловая переменная. Смотреть картинку что такое файловая переменная. Картинка про что такое файловая переменная. Фото что такое файловая переменная

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

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

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

Основные операции с файлами

Эти операции необходимы на начальном этапе работы с файлами – для связывания файловой переменной с конкретным файлом, указания того, какие действия будут с ним проводиться и окончания работы с файлом. К ним относят:

Диск: \ имя каталога \ имя подкаталога \ … \ имя файла

Если имя диска и имя каталога не указывать, то берутся текущий диск и текущий каталог.

В эту группу входят:

Эта группа предназначена для действий с каталогами и именами. Некоторые из операций:

Примеры работы с файлами*

В качестве примеров рассмотрим три наиболее часто встречающихся действия с файлами:

Для чтения файла необходимо выполнить следующий алгоритм:

Пример программы, реализующей этот алгоритм:

После того, как мы связали файл с файловой переменной с помощью оператора Assign(F,FileName), открываем файл с помощью оператора Reset(F). В результате файловая переменная f указывает на первый элемент файла:

что такое файловая переменная. Смотреть фото что такое файловая переменная. Смотреть картинку что такое файловая переменная. Картинка про что такое файловая переменная. Фото что такое файловая переменная

С помощью оператора Read(F, Ch) в переменную Ch считывается значение, которое находится в том месте файла, на которое указывает переменная F, т.е. C. Затем указатель перемещается на следующий элемент файла:

что такое файловая переменная. Смотреть фото что такое файловая переменная. Смотреть картинку что такое файловая переменная. Картинка про что такое файловая переменная. Фото что такое файловая переменная

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

Алгоритм записи данных в файл можно определить следующим образом:

Пример программы, реализующей этот алгоритм и записывающей в файл числа от 1 до 30:

При открытии файла с помощью процедуры Rewrite(F) файл выглядит следующим образом:

что такое файловая переменная. Смотреть фото что такое файловая переменная. Смотреть картинку что такое файловая переменная. Картинка про что такое файловая переменная. Фото что такое файловая переменная

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

что такое файловая переменная. Смотреть фото что такое файловая переменная. Смотреть картинку что такое файловая переменная. Картинка про что такое файловая переменная. Фото что такое файловая переменная

что такое файловая переменная. Смотреть фото что такое файловая переменная. Смотреть картинку что такое файловая переменная. Картинка про что такое файловая переменная. Фото что такое файловая переменная

Необходимо отметить, что в отличии от вывода на экран, при записи информации в файл вторым аргументом оператора Write являются не выражения, а переменные. Следующие записи будут неверны: Write(F, 1), Write(F, x+1).

Пусть необходимо к уже существующему файлу добавить ряд элементов. Для этого необходимо выполнить следующие действия:

Пример: к уже имеющемуся файлу, в который занесены числа от 1 до 30, дописать числа 40, 50, 60, 70, 80.

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

что такое файловая переменная. Смотреть фото что такое файловая переменная. Смотреть картинку что такое файловая переменная. Картинка про что такое файловая переменная. Фото что такое файловая переменная

Затем с помощью операции seek(f, filesize(f)) перемещаем файловую переменную на последний элемент файла:

что такое файловая переменная. Смотреть фото что такое файловая переменная. Смотреть картинку что такое файловая переменная. Картинка про что такое файловая переменная. Фото что такое файловая переменная

Так как файловая переменная указывает на конец файла, мы можем дописать в файл любую информацию, например, с помощью оператора Write(f, 31);

что такое файловая переменная. Смотреть фото что такое файловая переменная. Смотреть картинку что такое файловая переменная. Картинка про что такое файловая переменная. Фото что такое файловая переменная

Текстовые файлы

Отдельным типом файлов являются текстовые файлы. Особенность этих файлов заключается в том, что их содержимое рассматривается как последовательность строк переменной длины, разделенных специальными символами, которые называются «конец строки». Символ конца строки при просмотре файла не виден, так же как и символ конца файла. В программе файловая переменная текстового типа описывается следующим образом:

Var : text;

Каждый символ представлен во внутреннем коде (ASCII) и занимает 1 байт.

Главная особенность текстовых файлов заключается в том, что можно считывать из него и записывать в него элементы типа char, integer, real, string, boolean. Если информация несимвольная, то в процессе чтения или записи происходит ее преобразование из символьной формы во внутреннюю и обратно.

Для работы с текстовыми файлами можно использовать все процедуры и функции, используемые при работе с файлами любых типов, за исключением процедуры seek, функций filepos, filesize. Дело в том, что заранее неизвестно, элементы какого типа находятся в файле.

Например, если в файле находится символ 5, то мы можем его считать как char, integer, real, string размером 1. В этом случае они будут занимать: real – 4 байта; integer 2 байта; char – 1 байт; string — 1 байт.

Для работы с текстовыми файлами определены дополнительные операции.

Функция:

eoln (f) – логическая функция, возвращающая логическое значение true, если достигнут конец строки, и false в противном случае.

Процедуры:

Контрольные вопросы

Источник

Файлы. Файловые переменные

Дата добавления: 2015-06-12 ; просмотров: 2659 ; Нарушение авторских прав

С термином «файл» вам уже приходилось встречаться. Прежде всего это понятие обычно связывают с информацией на устройствах внешней памяти. В Паскале понятие файла употребляется в двух смыслах:

• как поименованная информация на внешнем устройстве (внешний файл);

• как переменная файлового типа в Паскаль-программе (внутренний файл).

В программе между этими объектами устанавливается связь. Вследствие этого все, что происходит в процессе выполнения программы с внутренним файлом, дублируется во внешнем файле. С элементами файла можно выполнять только две операции: читать из файла и записывать в файл.

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

Структура описания файловой переменной:

где может быть любым, кроме файлового.

Var Fi: File Of Integer;

Файл можно представить как последовательную цепочку элементов (эл.), пронумерованных от 0, заканчивающуюся специальным кодом, называемым маркером конца ( ):

что такое файловая переменная. Смотреть фото что такое файловая переменная. Смотреть картинку что такое файловая переменная. Картинка про что такое файловая переменная. Фото что такое файловая переменная

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

Для того чтобы начать запись в файл, его следует открыть для записи. Это обеспечивает процедура Rewrite (FV); где FV — имя файловой переменной. При этом указатель устанавливается на начало файла. Если в файле есть информация, то она исчезает. Схематически выполнение процедуры Rewrite можно представить так:

что такое файловая переменная. Смотреть фото что такое файловая переменная. Смотреть картинку что такое файловая переменная. Картинка про что такое файловая переменная. Фото что такое файловая переменная

Стрелка внизу отмечает позицию указателя.

Запись в файл осуществляется процедурой Write (FV, V); где V — переменная того же типа, что и файл FV. Запись происходит туда, где установлено окно (указатель). Сначала записывается значение, затем указатель смещается в следующую позицию. Если новый элемент вносится в конец файла, то сдвигается маркер конца. Схема выполнения оператора:

что такое файловая переменная. Смотреть фото что такое файловая переменная. Смотреть картинку что такое файловая переменная. Картинка про что такое файловая переменная. Фото что такое файловая переменная

Пример 1. В файловую переменную Fx занести 20 вещественных чисел, последовательно вводимых с клавиатуры.

Var Fx: File Of Real;

Для чтения элементов файла с его начала следует открыть файл для чтения. Это делает процедура Reset (FV).

В результате указатель устанавливается на начало файла. При этом вся информация в файле сохраняется. Схема выполнения процедуры:

что такое файловая переменная. Смотреть фото что такое файловая переменная. Смотреть картинку что такое файловая переменная. Картинка про что такое файловая переменная. Фото что такое файловая переменная

Чтение из файла осуществляется процедурой Read (FV,V); где V — переменная того же типа, что и файл FV. Значение текущего элемента файла записывается в переменную V; указатель смещается к следующему элементу.

что такое файловая переменная. Смотреть фото что такое файловая переменная. Смотреть картинку что такое файловая переменная. Картинка про что такое файловая переменная. Фото что такое файловая переменная

Доступ к элементам файла может быть последовательным или прямым. В стандартном Паскале реализован только последовательный доступ.

Принцип последовательного доступа: для того чтобы прочитать п-ю запись файла, сначала нужно прочитать все предыдущие записи с 1-й по (п-1)-ю.

Пример 2. В переменной х получить 10-й элемент вещественного файла Fx.

Var Fx: File Of Real;

For I:=l To 10 Do Read(Fx,X)

Функция Eof (FV) проверяет маркер конца файла (end of file). Это логическая функция, которая получает значение true, если указатель установлен на маркер конца, в противном случае — false.

Пример 3. Просуммировать все числа из файла Fx, описанного в предыдущем примере.

While Not Eof(Fx) Do

To же самое с помощью цикла Repeat можно делать следующим образом:

Во втором варианте возможна ошибка чтения, если файл Fx пустой. Первый вариант от такой ошибки застрахован, поэтому он более предпочтителен.

Внешние файлы. В Турбо Паскале все внешние устройства (дисплей, клавиатура, принтер, диски и т.д.) трактуются как логические устройства с файловой структурой организации данных. Все немагнитные внешние устройства однофайловые. Иначе говоря, с каждым из них связан один файл со стандартным именем, предназначенный для обмена с внутренней памятью ЭВМ текстовой (символьной) информацией.

Стандартные имена логических устройств определяются операционной системой, в среде которой работает Паскаль. В системе MS DOS определены следующие имена:

CON (консоль) — логическое устройство, связанное при вводе с клавиатурой, при выводе — с экраном;

PRN (принтер) — логическое имя файла, связанного с устройством печати;

AUX — логическое имя коммуникационного канала, который используется для связи ПК с другими машинами;

INPUT — логическое имя стандартного устройства ввода, связанного с клавиатурой; при этом вводимые с клавиатуры символы отражаются на экране дисплея;

OUTPUT — логическое имя стандартного устройства вывода на экран.

Список файлов на диске хранится в директории (каталоге) диска. Каталог вызывается на экран системной командой DIR. В полной форме каталог содержит идентификаторы файлов, объем занимаемой памяти, дату и время создания файла. Идентификатор файла состоит из имени и типа файла:

Имя содержит от 1 до 8 латинских букв и (или) цифр; тип — необязательный элемент (от 0 до 3 символов), указывающий на характер информации, хранимой в файле.

PROGRAM. PAS — в файле текст программы на Паскале;

NUMBER. DAT — файл числовых данных;

NAMES. ТХТ — текстовый файл.

Для организации связи между файловой переменной и внешним файлом в Турбо Паскале используется процедура назначения:

Здесь — строковая величина (константа или переменная). Например:

После выполнения процедур Assign и Rewrite создается новый внешний файл, имя которого заносится в директорию.

Если файл открывается для чтения (Assign и Reset), то в указанном каталоге уже должен содержаться указанный внешний файл. В противном случае будет обнаружена ошибка.

Работа с файлом в программе завершается его закрытием с помощью процедуры

Подведем итог. Для создания и заполнения файла требуется следующая последовательность действий:

1. Описать файловую переменную.

2. Описать переменную того же типа, что и файл.

3. Произвести назначение (Assign).

4. Открыть файл для записи (Rewrite).

5. Записать в файл данные (Write).

6. Закрыть файл (Close).

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

Можно договориться о каком-то условном значении, которое будет признаком конца ввода. Пусть, например, признаком конца ввода будет число 9999.

Var Ft: File Of Real; T: Real;

Write(Ft,T); Write (‘?’); ReadLn(T)

WriteLn (‘Ввод данных закончен»);

В результате работы этой программы на диске будет создан файл с именем Temp. dat, в котором сохранится введенная информация.

Не нашли то, что искали? Google вам в помощь!

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *