Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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

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

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 байтов.

<== предыдущая лекция | следующая лекция ==>
Пример работы с множествами | Открытие и закрытие файлов
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 467; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.