Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2012-2013 Вопросы к экзамену П бак 1 семестр.docx
Скачиваний:
1
Добавлен:
16.12.2019
Размер:
724.74 Кб
Скачать

21.Множества.

Множества - структурированный тип данных, элементы которого не упорядочены.

Содержаться может не более 256-ти элементов. Множество может быть описано в любом из разделов var,type или const.

Type имя=set of базовый_тип;

Или

Type monet=(r1,r5,r10);

Var sum:set of monet;

Элементы множества могут принадлежать любому порядковому типу, размер которого не превышает один байт.

Множество можно задать при помощи конструктора множеств. Множество не имеет имени в этом случае.

Конструкторы множеств:[r1],{r1,r10}

If c in [‘a’,’e’,’I’,’o’,’u’]

Then writeln (‘главсная буква’);

If set1<[k*2+1..n,13] then set1:=[];

Операции:=,<>,>=,<=,in,+,-,*,:=

  1. равенство множеств. [1,3]=[3,1], [1..3]=[1,2,3]

  2. проверка на неравенство [1,2,3]=[1,4,3]

  3. операция сложения двух множеств [1,3]+[1,4]

  4. операция пересечения множеств [1,3]*[1,4]

обозначение пустого множества – [];

не существует никакой процедуры, которая позволяла бы распечатать содержимое множества.

22.Файлы. Типизированные файлы.

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

  1. в файлах могут храниться исходные тексты программ а также входные данные.

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

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

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

Бинарные файлы делятся на типизированные и нетипизированнные.

Типизированные.

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

Type toy=record name:string[20];

Price:real;

ageLset of 9..18; {в файле задано границами}

end;

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

<начало_структуры>+

<номер_компонента>*

<длина_компонента>

Описание типизированных файлов

Var <файловая перем>:file of

<тип элементов файла>;

Назначение типизированного файла

Assign (f,’<им файла>’);

Открытие и закрытие типизированного файла

Reset (f) – процедура для открытия файла для считывания информации и одновременно для записи в него информации. Если файла не существует, возвращается ошибка. Указатель ставится в начало файла.

Rewrite (f) – открытие файла для записи информации. Если нет файла, он будет создан. Курсор ставится в начало файла. Если файл существовал, вся информация из него исчезнет.

Close (f) – также как и в текстовых файлов.

Считывание из типизированного файла

Считывать из файла можно только переменные, тип данных которых совпадает с типом данных файла.

Поиск в типизированном файле

Eof(f:file):Boolean – смотри текстовые файлы

Filepos(f:file):longint – функция возвращает текущее положение указателя. Если курсор указывает на самый конец файла, содержащего N элементов, то возвращаемое значение будет N.

Filesize(f:file):longint – вычисляет длину файла f в байтах.

Seek(f:file,n:longint) – передвигает указатель в файле на начало записи с номером N. Если окажется, что N больше длины файла, то указатель будет передвинут за реальный конец файла.

Truncate(f:file) – обрезает хвост файла. Все элементы, начиная от текущего и до самого конца файла будут «удалены».