————————
Билет№1
Физические файлы. Виды файлов и описание их файловой переменной.
Файл — наименьшая область памяти на диске или на другом внешнем
запоминающем устройстве. Файлы MS Dos являются физическими файлами как в
Dos так и в turbo Paskal. Уточним понятие файлов как область на внешнем
носителе информации каждый конкретный физический файл является
последовательностью байтов. Но при этом одну и туже последовательность
байтов можно рассматривать и обрабатывать и как последовательность байтов,
и как последовательность значений какого либо типа и как последовательность
символов разбитого на строки. Файлы Dos делятся на два вида:
-текстовые файлы;
-двуичные файлы.
Текстовые файлы.
Текстовые файлы в Паскале — это файлы последовательного доступа. Они
состоят из элементов различной длины т.е. компонентами текстового файла
являются строки к которым можно обращаться только последовательно: от
начала к концу для многих случаев такой порядок выборки данных из файла
вызывает большие потери времени.
Двуичные файлы.
Эти файлы состоят их однотипных элементов как и массивы. Двуичные файлы в
Паскале- это файлы прямого или произвольного доступа. Найти любой элемент в
таком файле можно по его порядковому номеру. В общем случае система
обработки данных с файлами прямого доступа более эффективна, чем система с
последовательными файлами, но она требует большего времени на разборку. В
турбо Паскале различают следующие три типа файлов:1. Текстовые файлы (-
text) 2. Типизированные файлы (file of <тип компонентов файлов>). 3.
Безтиповые файлы (file)
Внешние файлы данных повышают универсальность и гибкость программ обработки
данных.
Операция ввода данных.
Эта операция при работе с файлами означает, что данные из файла вводятся в
ячейки памяти ЭВМ. Эта операция осуществляется через область памяти
программы, которая называется буфером.
Операция вывода данных.
При работе с файлами эта операция означает, что происходит пересылка данных
из рабочей памяти ЭВМ в файл. Эта операция также осуществляется через
буфер.
Файловая переменная.
При работе с файлами ключевым понятием является понятие переменной
файлового типа, которая называется файловой переменной. В зависимости от
типа файла переменная записывается так: текстовый файл (var <фп>:text;),
типизированный файл (var fp: file of<тип компонента файлов>), без типовой
файл (var fp:file;)
Необходимо помнить, что файловая переменная, которая может иметь любой тип
и любое имя указывается во всех программных действиях с файлом. Таким
образом файловая переменная обеспечивает связь между физическим файлом и
программой.
Билет № 2
Общие процедуры и функции, используемые при работе с файлами всех типов.
Assign (fp) – эта процедура связывает файловую процедуру(fp) с именем
физического файла, причем имя физического файла заканчивается переменной
строкового типа. Таким образом эта процедура в программе выглядит так:
assign (fp,’a:one.tex’).
Rewrite (fp) – создает и открывает новые файл с логическим именем файловой
переменной для записи. Т.е. если в используемом файле содержимое файла
заменяется (или если это новый файл), то такой файл открывается этим
оператором.
Reset (fp) – открывает существующий файл для чтения. При этом текущим
компонентом становится первые компонент файла т.е. компонент с № «0». При
открытии файла с типом или без типа этим оператором, то кроме чтения из
этого файла можно добавлять запись и осуществлять перезапись компонентов.
Close (fp) – закрывает открытый канал ввода-вывода с логическим именем
файла fp. (закрывает файл). После завершения работы с файлом нужно
обязательно открыть этот файл оператором close (fp).
EOF (fp) – это логическая функция. Она возвращает значение true, если
достигнут при чтении конец файла. Если же конец файла не достигнут эта
функция выдает значение falshe. При закрытии записываемого файла в его
коней заносится маркер конца файла автоматически. Эта функция как раз и
реагирует на этот маркер.
Erase (fp) – эта функция удаляет закрытый физический файл fp.
Rename (fp) – эта функция переименовывает закрытый физический файл
связанный с файловой переменной fp. В программе необходимо писать новое имя
файла. В программе эта функция записывается так: Rename (fp,’новое имя’).
Билет № 3
Уничтожение файла.
Эту операцию осуществляет функция Erase (fp), здесь fp – файловая
переменная того файла, который должен быть уничтожен. Пусть например мы
имеем два файла. У первого файла файловая переменная fp1, а у второго fp2.
уничтожим например первый файл fp1. Для этого надо:
-закрыть уничтожаемый файл оператором close(fp1);
-уничтожить этот файл оператором Erase(fp1).
Билет № 4
Различия между тремя типами файлов применяемых в Dos.
Известно, что в Паскале можно использовать три разновидности файлов,
которые различаются друг от друга следующим:
1.Текстовый файл – это файл в общем смысле последовательность символов
разбитая на строки. В то же самое время строка представляет собой
последовательность символов с явно обозначенным окончанием. В турбо Паскале
для текстовых файлов определен специальный тип с типом text. Например, в
программе можно дать тип файловым переменным: var fp, fi: text;
Подчеркнем, что хотя элементом текста являются символы, текстовый файл
отличается от типа file of char. В текстах есть специальные символы с
помощью которых задаются конец строки и конец текста. Их обработка
отличается от обработки других символов и задается специальными
подпрограммами.
2.Типизированый файл, рассматривается как последовательность переменных
какого-то определенного типа, причем этот тип задается файловой
переменной. Тип файловой переменной в типизированном файле в программе: var
fp, fi: file of integer;
Таким образом значениями элементов типизированного файла, являются значения
того типа, которой является файловая переменная.
3.Безтиповые файлы рассматриваются как последовательность байтов и
определяются с помощью служебного слова file. В таких файлах файловая
переменная описывается так: var fp, fi: file; таким образом приведенные три
вида файлов различаются между собой не столько их возможным содержанием,
сколько наборами подпрограмм ввода-вывода, применяемых к ним.
Билет № 5
Создание файла на жестком диске.
Для этого надо создать каталог (директорию).
А) Создание каталога (директории).
Вся информация в компьютере записана на магнитный диск, который имеет имя
C://. Это жесткий диск. Гибкий диск имеет имя «А» и «В». На диски вся
информация распределена по каталогам. Это также как книга делится на главы.
В каждой главе могут быть под главы также как и в каталогах могут быть
подкаталоги. Создавать файл буде на жестком диске «С».
Б) переход на диск «С».
После включения компьютера мы имеем на экране два окна синего цвета. После
этого надо:
1.Установить курсор в левое окно при помощи клавиши Tab.
2.Нажать клавиши Alt+F1, при этом на экране появится окно: «ВЫБЕРИ ДИСК».
3.Устанавливаем курсор на символ «С» этого окна.
4.Нажать клавишу ENTER, при этом окно исчезнет.
При этом происходит переход на диск «С» и появляется окно с надписью С:.
Т.е. в левом окне Нортона Командора мы видим информацию, которая записана
на диске «С». На этом диске есть главный (корневой). Признаком того, что мы
находимся в главном каталоге является отсутствие двух точек. При этом в
верхней строке окна написано имя диска и черта слеш.
Для перехода на диск С в правом окне надо:
1.Установить курсор клавишей Tab на правое окно и нажать Alt+F2. При этом
появится окно «выбери диск», далее выполняем то же самое.
Билет № 6
Присвоение имени каталогу.
1.В верхней строке прямоугольного окна найти строку с надписью С:, если
она имеется, то все правильно. Если эта строка содержит еще другие символы,
то нажать клавишу HOME, а затем ENTER. При этом в левой строке окна не
должно быть символов.
2.Клавишей Tab установить курсор в левое окно.
3.Нажать клавишу F7.
4.При этом появится окно создания каталога.
5.Набираем в окне имя DIF.
6.Нажимаем ENTER.
7.При этом окно создание каталога исчезнет. Останутся только окна Нортон
командор. При чем в левом появится запись «Dif».
Примечание: если появится окно в котором записано, то невозможно создать
каталог DIF, то это означает, то это имя уже есть в каталоге и надо
создавать новое имя.
Билет №7
Вход в экран редактора создаваемого файла.
1.Установить курсор на каталог DIF.
2.Нажать Enter. При этом в первой строке окна появляются символы (. .),
значит мы находимся в подкаталоге и курсор сейчас стоит на этих точках.
3.Нажать клавиши Shift+F4.
4.При этом на экране появится окно редактора.
5.В этом окне набираем имя будущего файла «one.tex»
6.Нажимаем Enter.
7.На экране появится окно редактора в которой в верхней информационной
строке дано имя образующего файла.
C:difone.tex
Здесь c:dif – путь к файлу; one- имя файла; tex – расширение.
По расширению можно понять содержание данного файла.
8. Набираем текст в окно редактора.
Билет № 8
Выход из экрана редактора создаваемого файла.
Для выхода из экрана редактора создаваемого файла необходимо:
1.Нажать F10 или Esc.
2.При этом появится окно редактора с надписью «сохранять», «не сохранять»,
«продолжить работу».
3.Подставить курсор на нужное выражение и нажать Enter.
4.При этом на экране появляются два синих окна с двумя точками в верхней
строке левого окна. Здесь же появиться новое имя создаваемого файла.
Билет №9
Использование гибкого диска для создания файла.
1.Установить дискету в системный блок.
2.Для перехода на дискету с диска «C» нужно:
-нажать Alt+F1.
-при этом появится окно «Диски» с надписью «выбери левый диск»
-устанавливаем курсор на «А» и нажимаем Enter. При этом появляется окно с
надписью А:
3.Открыть окно редактора. Для этого нажимаем Shift+F4. При этом появляется
окно «править файл». Пишем в этом окне «one.tex»
-нажимаем Enter. При этом появляется окно редактора.
-пишем текст файла.
-для сохранения нажимаем F2.
-для возвращения к синим окнам нажимаем Esc.
4.Убираем дискету из системного блока:
-нажимаем Alt+F1
-в появившемся окне выбираем диск «С».
Билет №10 Написание текстов файла.
После открытия окна редактора вся работа происходит также как и при наборе
в турбо Паскале.
Т.к. компонентами текстового файла являются строки, то данные набираем по
строкам, если мы набираем числа, то в строке должны быть только числа и
пробелы между ними. При переходе на другую строку нажать ENTER. После
набора последней строки обязательно нажать ENTER.
Это объясняется тем, что маркером конца строки является EOF. Эта функция
записывается автоматически только после нажатия ENTER. После каждой строки
текстового файла надо оставить маркер конца строки EOLN. Если в тексте
предусмотрены пустые строки, то можно дать несколько маркеров конца строки.
Символьные знаки конца строки набираем как и в программе. Значения числовых
переменных, если они находятся в середине строки заканчиваются пробелом
между последним числом и следующим за ним знаком. Например запись строки
файла в программе надо писать так:
ПЕТРОВ Н.А. 1941 муж eoln
Fio godro x pol
Здесь строка содержит:
1.Фамилию и инициалы (fio) –в этой строке предусмотрено 20 символов.
2.godro- длина равна 4 символа.
3.Пробел Х – длина 1 символ, далее идет пол субьекто длина – 3 символа.
4.Далее идет маркер конца строки eoln.
В случае этой строки переменные должны быть записаны так:
Var fio:string[20]; x:string[1]; pol:string[3]; godro:integer;
Таким образом это означает, что фио в программе занимают 20 символов, если
20, то при печате количество символов нужно довести до 20. Это можно
сделать путем добавления пробелов.
Следовательно диапазон фио в 20 символов должен занят только фамилией. С 21
символа должен начинатся год рождения. Цифры года рождения пишется без
провелов. Количество символов года рождения доложно быть рарно 4.Так как
число находится в середине строки, то после него должен ити пробел х ,
который равен одному символу. Далее идет пол равный трём символам. Следует
иметь в виду, что Fio, godro, x, pol являются полями написаной строки.
Таким образом любое поле в записе строкив файле должно содержать столько
символов, сколько их обозначено в описании переменных при составлении
программы.
Билет №13 Функции и процедуры используемые в текстовых файлах.
Settexbuf(fp,buf,bufsize) – эта функция устанавливает размер буфера файла
fp до его открытия. Здесь файловая переменная имеет только тип text, а
bufsize являются числами только целого типа.
Flush(fp)-принудительно записывает данные из буфера файла fp в физический
файл.
Append(fp)-эта функция открывает существующий текстовый файл для добавления
записей.
EOLN[(var fp)]-эта функция логического типа выдает значение true, если
достигнут конец строки.
SeekEoln(fp) – эта функция логического типа выдает значение true, если
достигнут конец строки или файла, или перед ним имеются только пробелы или
символы табуляции т.е. как бы предчувствует окончание строки.
SeekEof(fp)-сама функция является функцией логического типа и выдает
значение true, если достигнут конец файла или перед ним имеются пробелы,
признаки конца строки и символы табуляции т.е. эта функция предчувствует
конец файла.
Билет № 14 Чтение файла с помощью программы.
Под чтением из файла подразумевается ввод данных из файла в оперативную
память ЭВМ. Для чтения из файла нужно выполнить следующие действия:
1.Открыть файл для чтения (оператором RESET)
2.Ввести данные из файла в программу (readln)
3.Закрыть файл оператором close.
Общая структура программы ввода данных в память машины из файла имеет вид:
Reset (fp);
………………………
readln (fp, x1, x2, …, xn)
………………………
close (fp), end.
Тип переменных x1, x2,…xn должен соответствовать базовому типу элементов
файла.
В этом фрагменте программы процедура RESET(fp) осуществляет подготовку к
чтению из файла (т.е. открывает файл и устанавливает указатель на первый
элемент этого файла.
Оператор readln (х1, х2…хn) последовательно присваивает переменным х1,
х2,…хn значения из файла. Количество этих переменных не должно превышать
количества данных, которые могут быть выведены из файла.
Место оператора READLN можно написать так:
Read (fp, x1)
Read (fp, x2)
Read (fp, xn)
Билет № 15 Особенность вывода данных из файла с помощью программы.
При выводе компонентов (чисел) из текстового файла эти числа должны иметь
каждое свою переменную. Это значит, что переменные должны иметь следующие
величины i1:=3, i2=4; i3=5. и под этими именами они будут выв вводится из
файла. Это значит, что написав цикл:while not seekeof (fp) do readln (fp,
i); мы сможем вывести только первое число записанное в этом файле, поэтому
чтобы вывести например 3 числа из этого файла, нужно в программе написать
переменные всех (трех в нашем случае) чисел, которые будут принимать
участия в вычислениях:while not seekeof (fp) do readln (fp, i1, i2, i3).
Таким образом классического цикла при выводе данных организовать нельзя
Билет № 16 Создание текстового файла с помощью программы.
Создание текстового файла с учетом особенности его написания весьма
затруднительно. Намного проще создать текстовый файл используя для этих
целей специальную программу. Принцип ее создания (программы) следующий:
после включения и загрузки ЭВМ на экране появляются синие окна среды Нортон
Командор. Для создания текстового файла также используем дискету. Для этого
надо:
-вставить дискету в системный блок, перевести курсор в любое из окон;
— нажать Alt+F9 (или Alt+F2).
-появляется окно с надписью «выбери левый (правый) диск.
-устанавливаем курсор на «А» и нажимаем ENTER. Появляется окно с надписью
а:
-теперь клавишей Tab переводим курсор в другое окно и входим в среду Турбо
Паскаль.
-набираем программу. Нажимаем ctrl+F9, при этом появляется окно редактора
среды Турбо Паскаль с надписью «введи имя файла»
-вводим «КО» и нажимаем ENTER при этом на экране появляются две записи: а)
введи текст б)завершения ввода в файл обозначим символами многоточия (…)
-вводим текст: «Я помню
чудное
мгновенье»
-переходим на экран редактора файла для этого: а)нажимаем alt+x б)переводим
имя файла test.dat в)нажимаем F3. на экране появляется на текст.
-для выхода из файла нажимаем Esc.
Билет № 17 Отладка программы с помощью которой создан файл.
-программа пишется после установки дискеты в системный блок, при этом имя
файлу не дается.
-после набора программы нажать Ctrl +F9 при этом на экране появляется
запись «введи имя файла».
-вводим имя «КО» и нажимаем ENTER при этом появляется две строчки.
1.Введи текст
2.Завершение ввода данных в файл – ввод многоточия.
-после записи текста нажимаем ENTER и файл создан.
Билет №11 Буферизация файла.
Файл – это поименованная область памяти на диске или на другом внешнем
носителе информации. Память диска разбивается на блоки.
Блок – это участок памяти диска размер которого может быть равен 512
байтов, 4496 и более.
Устройства обмена (дисководы) сделаны так, что именно блоками данные
копируются на диск или с диска. Таким образом блок является единицей
физического обмена между дисками и оперативной памятью. Для обмена данными
большими порциями используется специальный участок памяти программы который
называется буфером. В буфер копируется целый блок или несколько блоков
данных из файла попадают в переменные программы не из файла, а из буфера.
Т.е. эти данные идут из файла через буфер. Буфер можно рассматривать как
своеобразное окно, сквозь которое из программы «виден» файл. При этом
записи из файла записываются сначала в буфер до его заполнения, а затем
обрабатывается в файл.
Билет №12 Буферизация текстов
С текстовыми файлами связаны не один а два буфера
-внешний буфер
-внутренний буфер
Внешний буфер обрабатывается путем буферизации файла. Работа со вторым
внутренним буфером ведется иначе. При чтении данные копируются из текста во
внешний буфер, а оттуда часть их копируется во внутренний буфер. Какая
именно часть зависит от размера внутреннего буфера. При чтении символы
текста берутся из внутреннего буфера, а если он исчерпан, то в него
копируется следующая часть внешнего буфера и чтение продолжается.
Внутренний буфер текстов имеет в турбо Паскале имеет возможность изменять
его размер в пределах от 1 байта до 65536 байтов с помощью процедуры
settexbuf . это процедура может быть оформлена двумя способами:
Settexbuf(fp, buf, bufsize).
Здесь fp – файловая переменная типа text.
Buf – имя переменной любого типа.
Bufsize – размер буфера представляет собой выражение целого типа, величина
которого может изменятся в пределах от 1 до65536 байтов.
Здесь переменная buf используется как внутренний буфер, поэтому
целесообразно чтобы ее длина была кратна длине блока. Если размер буфера
bufsize в вызове не указано, то он определяется длиной переменной buf.
Если значение переменной bufsize указано и является меньше длины переменной
buf, то оно задает длину буфера в пределах переменной buf.
Билет №18. Типизированные файлы. Прямой доступ к компонентам файла.
Типизированный (компонентный) файл рассматривается как последовательность
записи, т.е. компонент. Следует иметь в виду, что это последовательность
записи должна быть одного типа. Задание файловой переменной для такого
файла осуществляется так: var <имя ф.п.>:file of <базовый тип компонентов>;
В отличие от файлов тепа tex типизированный файл имеет строгую внутреннюю
структуру. При записи в него записывается машинное представление копанента,
будет то число, символ, строчка, запись, массив или другая структура
данных. Файл заполняется последовательно от начала до конца. Структура
файла при этом линейна, что означает: запись следует записью и компоненты
ни чем ни отличаются друг от друга. Число компонент файла может изменятся,
т.е. заранее не фиксируется. Добавление записи осуществляется только в
конец файла. Замещение же компонент производит в любом месте файла. Только
понятие как конец строчки в типизированном файле не существует. Поэтому
ввод и вывод данных осуществляется только процедурами read и write.
Для типизированного файла обе процедуры RESET и rewrite устанавливает
одновременно как режим чтения так и режим записи. Таким образом допускается
чередование таких операций не использованная в этих программах не зависимо
от выбора процедуры открытия.
В типизированном файле все компоненты одного типа, а значит и одного
размера, то становится возможным произвольный или прямой доступ к ним. Этот
доступ осуществляется по номерам, которые автоматически присваивается в
каждом компоненте при составлении файла.
Прямой доступ к компонентам означает возможность установки внутри файла
текущего указателя на заданную запись. Текущий указатель – это не явно
описанная переменная, которая указывает на условную границу между
элементами файла. Нумеруется позицией текущего указателя целыми числами
начиная с нуля, поэтому реальный номер записи компонентов всегда на единицу
больше номера позиции указателя. В операции будет участвовать тот элемент,
на которой переместится указатель. Так если номер текущий указатель
установлен в позицию «6», что можно прочитать или заменить 7ю компоненту в
файле
Билет № 19 Функции реализующии прямой доступ к компанетам в типизированных
файлах.
Filesize(fp)-эта функция выдает реальное число записей в открытом файле.
Filepos(fp)-эта функция выдает номер записи на которую установлен текущий
указатель файла.
Seek(fp,n)- эта функция назначает текущую позицию номер которой n указателя
файла
Truncate(fp) – обеспечивает удаление всех записей в файле fp от позиции
текущего указателя до конца файла.
Eof(fp) – это функция в типизированном файле выдает значение true, только в
том случае, когда позиция указателя совпадает с концевой границей файла.
Билет №22 Сравнительная оценка текстового и типизированного файлов
Основное преимущество текстового файла – это возможность хранить в нем
разнотипные данные.
Основное преимущество типизированного файла – это прямой доступ к его
компонентам. Кроме того в типизированном файле имеется возможность
чередования операций чтения и записи. Это чередование можно осуществлять
независимо от того, какая процедура открытия файла использована в
программе.
Обмен данными между файловой переменной и ЭВМ возможен только между дисками
и рабочей памятью программы. Следует иметь в виду, что прямой вывод данных
из файла на экран пользователя минуя память машины не возможен.
1.Вывод данных в файл должен осуществляется оператором write (fp, I)
2.Вывод данных из файла на экран пользователя или на принтер должен
осуществляется с помощью следующих операторов: read (fp, I) write (i).
Билет №23 Последовательная обработка компанентов типизированного файла.
При открытии файла указатель файла устанавливается всегда на начальный
компонент, который имеет компонент с № «0».
При выполнении оператора read или write указатель файла смещается на
столько компонентов, сколько их введено в ЭВМ (или выведено).
В этом случае, когда указатель файла установлен на нулевой отметке, т.е.
обработка записей происходит с самого начала, оператор seek в программе не
нужен. Но если необходимо сделать дополнения к файлу надо использовать этот
оператор: seek (fp, n).
Для этого надо открыть файл для чтения, а затем выполнить оператор seek. В
данном случае «n» — будет число компонентов файла, после которых начнется
добавление компонент. Но программисту не обязательно знать это число «n».
Имеется функция filesize, которая будет выдавать значения n. При этом файл
должен быть отрыт и указатель файла будет установлен на номер конца файла.
При добавлении компонента старые маркер конца файла затирается новый маркер
конца этого файла.
При последовательной обработке может понадобится номер текущего компонента
файла. Этот номер может быть определен с помощью функции filepos(fp). При
этом в программе нужно записать так: n:=filesize (fp).
Для устранения записей с занесением маркера конца файла осуществляет
процедура: truncate(fp).
Билет №24 Запись в файл результатов программы для типизированного файла.
Под записью в файл понимается вывод результатов программы из оперативной
память ЭВМ на внешний диск. Для записи файла в программе необходимо
выполнять следующие действия:
-открыть файл для записи оператором rewrite
-вывести данные из программы в файл оператором write(fp,j), где j –
переменная данных. Вывод должен осуществляется только с помощью оператора
write.
-закрыть файл для записи. При этом общая форма записи в программе будет
иметь вид:
rewrite (fp);
…………………
write (fp, A, B, C, D);
…………………
close (fp);
end.
Процедура rewrite осуществляет подготовку к записи файла, т.е. очищает
файл и устанавливает указатель файла в эго начало.
Это означает, что та запись, которая была до этого в файле стерта.
Для записи в файл результатов программы надо создать этот файл.
Билет №25. Создание файла для записи в него результатов программы для
типизированного файла.
Для записи в файл результата программы надо создать этот файл. Для создания
надо:
-установить дискету в системный блок после включения ЭВМ.
-нажать клавиши alt+F1
-переводим курсор на диск А и нажимаем ENTER
-при это появляется окно с надпись а:
-открываем окно редактора. Для этого
а)переводим курсор клавишей Tab в окно а:
б)нажимаем клавиши Shift+F4.
-в появившемся окне пишем имя создаваемого файла например Nik. Нажимаем
ENTER. При это появляется окно создаваемого файла с надписью а:Nik
-нажимаем F2 и сохраняем этот файл
-переходим в среду турбо Паскаль
-набираем программу.
Билет №20 Компоненты типизированного файла.
Компомпонентом такого файла может быть значение простого типа или строка
или же другая структура, но не файл.
В текстовом файле, чтобы выбрать некоторые данные просматривается все
предыдущие данные. На это уходит много времени, чтобы исключить потери
времени применяются типизированные файлы. Компоненты файла с типом
(типизированные) пронумерованы (начиная от нуля). При этом оператор seek
(fp, n) обеспечивает возможность прямого доступа к компоненту. Этот
оператор не выполняет ни каких действий с компонентом. Он только
обеспечивает к нему доступ для ввода компонента т.е. для передачи его из
файла в память машины должен использоваться оператор read, при этом он
записывается так: read(fp,<список переменных с однотипными компонентами
файл>).
Для вывода компонента из машины в файл должен использоваться оператор
write(fp,<список…>);
В списке оператора write допускаются и выражаются, но они обязательно
должны быть однотипными с компонентами файла.
Билет №21 Описание типизированного файла.
Файловая переменная типизированного файла должна описываться так: var <имя
фп>:file of <тип компонентов файла>.
Это значит, что в программе файловая переменная должна описываться так:var
fp:file of char (integer, real).
Если оператором Reset открыть типизированный файл, то кроме чтения
компонентов из этого файла можно еще выполнять добавления компонентов или
же осуществлять перезапись компонентов этого файла.
Для выбора компонента мы должны использовать оператор: seek (fp, n); n –
это целое число или выражение целого типа. Это число соответствует
порядковому номеру компонента с которого начинаются действия над
компонентами.
Таким образом оператор seek перемещает указатель файла к элементу с номером
n заданным оператором. Таким образом, используя в программе вызовы
процедуры SEEK в паре с процедурой read мы сможем получить любой элемент
файла, т.е. ввести в память машины. А используя еще и оператор write мы
можем вывести этот элемент на экран пользователя.
Если же использовать в программе вызовы процедуры seek в паре с процедурой
write, то можно изменять любой элемент файла.