Типы файлов и объявление файловых переменных.
Физические и логические файлы
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 байтов.