Все темы (информатика) за 3-й семестр в СТЖДТ

Украинский
Примечаниеот автора: есть правда, ошибки, но вы меня извиняйте - набрать весь конспект. Билеты были на экзамене по информатике в СТЖДТ в 3 семестре (2 курс). Преподаватель Кораблев. Я думаю, что с его знаниями он не докопавется до этой работы. При распечатке распеч
Загрузить архив:
Файл: ref-14563.zip (46kb [zip], Скачиваний: 187) скачать

                                     Билет№1

Физические файлы. Виды файлов и описание их файловой переменной.

Файл - наименьшая область памятина диске или на другом внешнем запоминающем устройстве. Файлы MS Dos явля­ются физическими файлами как в Dos так и в turbo Paskal. Уточним понятие файлов как область на внешнем носителе информации каждый конкретный физический файл является последовательностью байтов. Но при этом одну и туже последовательность байтов можно рассматривать и обрабатывать и как последовательность байтов, и как последова­тельность значений какого либо типа и как последовательность символов разбитого на строки. Файлы Dos делятся на два вида:

-текстовые файлы;

-двуичные файлы.

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

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

Двуичные файлы.

Этифайлысостоятиходнотипных элементов как и массивы. Двуичные файлы в Паскале- это файлы прямого или про­извольного доступа. Найти любой элемент в таком файле можно по его порядковому номеру. В общем случае система обработки данных с файлами прямого доступа более эффективна, чем система с последовательными файлами, но она требует большего времени на разборку. В турбо Паскале различают следующие три типа файлов:1. Текстовые файлы (-text) 2. Типизированные файлы (file of <тип компонентов файлов>). 3. Безтиповые файлы (file)

Внешние файлы данных повышают универсальность и гибкость программ обработки данных.

Операция ввода данных.

Эта операция при работе с файлами означает, что данные из файла вводятся в ячейки памяти ЭВМ. Эта операция осу­ществляется через область памяти программы, которая называется буфером.

Операция вывода данных.

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

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

При работе с файлами ключевым понятием является понятие переменной файлового типа, которая называется файло­вой переменной. В зависимости от типа файла переменная записывается так: текстовый файл (var <фп>:text;), типизи­рованный файл (var fp: file of<тип компонента файлов>), без типовой файл (var fp:file;)

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

Билет № 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.Приэтом на экране появляются два синих окна с двумя точками в верхней строке левого окна. Здесь же появиться новое имя создаваемого файла.

                          Билет № 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).


Билет №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.Открыть файл для чтения (оператором RE­SET)

2.Ввести данные из файла в программу (readln)

3.Закрыть файл оператором close.

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

Reset (fp);

………………………

readln (fp, x1, x2, …, xn)

………………………

close (fp), end.

Тип переменных x1, x2,…xnдолжен соответ­ствовать базовому типу элементов файла.

В этом фрагменте программы процедура RE­SET(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.

Для типизированного файла обе процедуры RE­SET и 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, то можно изменять любой элемент файла.