Типы файлов и объявление файловых переменных.


Физические и логические файлы

End.

Case number of

While true do begin

Begin

While not (C in S) do

Begin

Begin

Begin

Begin

writeln(‘Литеры, входящие в множество’);

For C:=’A’ to ‘z’ do

If C in S then write(c,’ ‘);

writeln;

writeln(‘Нажмите клавишуEnter’);

readln;

end;

procedure Konstr;

{процедура создания множества}

S:=[];

Writeln(‘Вводите буквы от A до Z’);

Read(c);

While c<>’*’ do

S:=S+[C];

{добавление элемента в множество с помощью операции объединения двух множеств}

Readln(c);

End;

end;

procedure Smin;

{процедура поиска в множестве литеры с минимальным кодом}

C:=’A’;

{перебираем литеры, начиная с «А», пока не встретим литеру входящую в S}

C:=Succ(C);

Writeln(‘Литера с минимальным кодом, входящая в множество S’,c);

Readln;

End;

{основная программа}

{бесконечный цикл, позволяющий вернуться в меню}

Clrscr;

Writeln(‘1 –Формирование множества’);

Writeln(‘2 – Поиск элемента с минимальным кодом’);

Writeln(‘3 – Печать множества’);

Writeln(‘4 – Выход’);

Writeln(‘Введите номер пункта меню’);

Readln(number);

1:Konstr;

2:Smin;

3:rasp;

4:exit;

end;

end;


 

ЛЕКЦИЯ №16

Понятие файла можно рассматривать с 2-х точек зрения

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

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

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

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

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

В зависимости о типа элементов файлы подразделяются на текстовые и бинарные.

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

Текстовый файл содержит последовательность символов, организованных в строк произвольной длины. Каждая строка текстового файла заканчивается меткой конец строки (условно будем её обозначать как eoln; в ASCII табл. – пара символов: возврат каретки CR=#13 и перевод строки LF=#10). Любой файл заканчивается меткой конец файла (условно будем обозначать в виде eof, в ASCII таблице – символ #26)/ Для описания текстовых файлов в Паскале используется предопределенный файловый тип text.

Пример текстового файла:

т е к с т eoln ) eoln п р и м е р eof

 

Просмотр текста в редакторе: текст

1)

пример

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

 

Бинарный файл целого типа:

eof

 

 

Описание бинарного (компонентного файла)

<имя типа> = file of <тип компонент>

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

Пример объявлений файловых переменных

type complex = record re, im :real end;

var binfile1: file of complex;{бинарный файл}

binfile: file of integer;{бинарный файл}

vocabulary:text;{текстовый файл}

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

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

Текстовые файлы допускают только последовательный доступ. Бинарные файлы могут допускать прямой доступ. В стандартном Паскале доступ к компонентам файлов только последовательный.

В ВР имеются также нетипизированные бинарный файлы, которые рассматриваются как последовательность байтов. Компонентом такого нетипизированного файла считается запись, длина которой по умолчанию – 128 байтов.