metod_15.03.04_atppp_oaip_up_2016 (Методические документы), страница 15
Описание файла
Файл "metod_15.03.04_atppp_oaip_up_2016" внутри архива находится в папке "Методические документы". PDF-файл из архива "Методические документы", который расположен в категории "". Всё это находится в предмете "абитуриентам" из 1 семестр, которые можно найти в файловом архиве РТУ МИРЭА. Не смотря на прямую связь этого архива с РТУ МИРЭА, его также можно найти и в других разделах. Архив можно найти в разделе "остальное", в предмете "абитуриентам" в общих файлах.
Просмотр PDF-файла онлайн
Текст 15 страницы из PDF
При этом в любой момент для прямого доступа открытатолько одна компонента, для остальных же предусмотрен последовательныйдоступ через файл. В определении файла число компонент, которое называют егодлиной, не указывается. Эта характеристика особенно ярко показывает различиемежду файлами и массивами (и индексов у файлп нет).85Если число компонент равно нулю, файл называется пустым. Итак, мывидим, что файл отличается от массивов, записей и множеств, т.к. это структурапоследовательного доступа, все компоненты которой относятся к одному и томуже типу: любому, кроме типа «файл». Нельзя создать файл файлов!При описании каждой файловой переменной F автоматически вводитсябуферная переменная, относящаяся к типу компонент файла.
Её можно считатьнекоторым средством доступа к файлу, с помощью которого просматривают(читают) существующие компоненты, либо создают (записывают) новые.Значение буферной переменной автоматически изменяется при выполнении рядаопераций над файлами. Для файловых переменных операция присваивания неопределена. Для добавления новых компонент существует единственный способ –добавлять их в файл по одной через буферную переменную. Если указательтекущей позиции в файле оказывается за последней его компонентой, значениебуферной переменной становится неопределённым.Характеристики файла:последовательный доступ;переменная длина;существование буферной переменной, –допускают, что файлы можно связать со вторичной памятью и периферийнымоборудованиемКак конкретно хранятся компоненты, зависит от компьютерной системы, номы можем полагать, что только часть из них находится в данный момент восновной памяти и только одна компонента доступна непосредственно: та, накоторую указывает буферная переменная.Для определения признака конца файла используется встроеннаястандартная функция EOF (файловая переменная);Она определяет, достигнут или нет конец файла.EOF = True, если конец файла достигнут;EOF = False, если нет.Если файл не имеет компонентов, то он называется пустым и функция EOF= True для пустого файла.Функцию EOF можно использовать в логических выражениях и вчастности, в операторах цикла.Пример: While Not EOF ( имя ) Do Begin…….End;Если буферная переменная сдвинута за пределы конца файла (end of file),стандартная логическая функция eof (F) = true, в противном же случае – false.Файловый тип – единственный тип значений, который связываетпрограмму с внешним устройством (ввод-вывод данных).Файлы по отношению к программе могут быть внешними и внутренними.Внутренние файлы содаются, используются и существуют только во времяработы данной программы.Файлы, которые существуют вне программы (на дисках), называютсявнешними.
Внешние файлы могут передаваться в программу в качествепараметров в её заголовке (в круглых скобках после имени программы).86В общем и целом имеется две различных разновидности файлов:двоичные файлы;текстовые файлыДвоичный файл состоит из последовательности записей одной длины иодного внутреннего формата. Записи запоминаются непрерывно одна за другой,чтобы оптимизировать запоминание файла.Текстовые файлы состоят из символов (char), а кроме того, каждыйтекстовый файл делится на строки. Каждая строка состоит из любого числабайтов и заканчивается символом конца строки. Файл завершается символомокончания файла.
Таким образом, текстовые файлы – это файлы, состоящие изсимволов, причём не все байты представляют собой печатаемые символоы.Компонентами текстового файла являются строки различной длины, разделённыеуправляющими символами.11.3. Имя файлаКаждому файлу, размещённому на диске, присваивается уникальное имя,длина которого не должна превышать восьми символов.
Длина расширения файлане должна превышать трёх символов.Имя файла – это любое выражение строкового типа, которое строится поправилам определения имён в дисковой операционной системе (DOS):- имя содержит до восьми разрешённых символов (буквы, цифры изнаки подчеркивания);- за именем может следовать расширение – последоватенльность дотрёх разрешенных символов;- расширение, если оно есть, отделяется от имени точкой.Перед именем может ставиться так называемый путь к файлу – имя дискаили имя текущего каталога и имена каталогов вышестоящих уровней.Имя диска содержит одну из латинских букв, после которой ставитсядвоеточие.
Имена А: и В: относятся к дисковым накопителям на гибких дисках,остальные – к жёстким дискам.Если имя диска не указано, подразумевается устройство по умолчанию – то,которое было установлено в операционной системе перед началом работыпрограммы.За именем диска может указываться имя каталога, содержащего файл. Еслиимени каталога предшествует обратная косая черта ( \ ), то путь к файлуначинается из корнего каталога, если черты нет – из текущего каталога,установленного в системе по умолчанию. За именем каталога может следоватьодно или несколько имён каталогов нижнего уровня. Каждому из них должнапредшествовать обратная косая черта.
Весь путь к файлу отделяется от именифайла обратной косой чертой. Максимальная длина имени вместе с указаниемпути – 79 символов.11.4. Описание файлового типаФайловый тип или переменную файлового типа можно задать одним изтрёх символов:имя = file of тип;имя = text;87имя = file;Пример:Var finp: text;Fout: file of string;const name = ‘c:\dir\subdir\out.txt;…………………………Во время выполнения программы данные файла поступают в памятькомпьютера и преобразуются в тот тип данных, который оъявлен в программе.Общий вид описания файлового типа:Type имя = File of тип;Число компонентов в определении файлового типа в отличие от массива нефиксируется. Тип компонентов файла может быть любым, кроме файлового.Пример:Type Number = file of integer; {файл целых чисел}Symb = file of ‘A’..’Z’; {файл прописных латинских букв}Стандартный тип Text определяет тип–файл, содержащий символы,объединённые в строки.
Следует иметь в виду, что тип Text в Турбо-Паскале неэквивалентен типу file of char.В Турбо-Паскале можно использовать файл без типа, при определениикоторого не указывается тип компонент. В этом случае работа с файломосуществляется на физическом уровне, в соответствии с внутренним форматомего данных. При этом реальные компоненты файла могут иметь и различныетипы.Пример: Type untyp = file;Итак, в Паскале файловый тип описывается следующим образом:type T = TValue;{ тип компоненты файла }< имя файлового типа > = file of T;Как обычно, файловый тип может быть введен в употребление в разделетипов, как было описано выше, либо непосредственно задан при описаниипеременных, например:var myfile: file of T;Файлы, имена которых включаются в список заголовка программы,называются внешними файлами, они существуют вне программы.
Если же именафайлов не внесены в список заголовка программы, то такие файлы существуюттолько во время выполнения программы и называются внутренними. Внутренниефайлы носят в основном вспомогательный характер. Стандартный вводосуществляется из файла input, а вывод в файл output.11.5. Файловая переменнаяКаждому файлу ставится в соответствие уникальная файловая переменная.Кроме того, обычными программными средствами нельзя создать программы,позволяющие взаимодействовать с устройствами ввода-вывода, кроме терминаловпользователя.
Своеобразным «окном» между программами и внешнимиустройствами является файловая переменная. Поэтому в каждой программе, гдепредусматривается взаимодействие с устройствами ввода-вывода, организуетсяопределённым образом логическая связь устройства ввода-вывода с файловойпеременной.Пример:88Type ZAP = RecordFIO: array [1..10] of char;God: Integerend; { of Record }F = File of ZAP;Тогда любая переменная типа 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;Var FT: T;Здесь Т – введённое нами имя типа.Пример описания файловых типов и переменных:Type SS = file of Char;Person = recordname: string [20];89adress: string [25];sex: ( man, woman );day: 1..31;month: 1..12;year: 1900..2000end;Var F1, F2: SS;Table: file of string [50];Base: file of person;Data: file of integer;Файловые переменные имеют специфическое применение.