Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
програмирование.docx
Скачиваний:
3
Добавлен:
25.09.2019
Размер:
128.25 Кб
Скачать

34 Вопрос. Стандартные процедуры и функции для текстовых и типизированных файлов

Assign (f, Name); - связывает файловую переменную f  с внешним файлом, имеющим имя Name. Name – переменная или константа типа string. Если Name задано переменной, то ее значение, то есть путь и имя файла можно вводить с клавиатуры.

Eof (f) – (End of file) – функция «конец файла». Принимает значение True, если магнитная головка достигла конца файла, и False – в противном случае

Reset (f); - (переустановка) – процедура открывает существующий файл для чтения и устанавливает магнитную головку в начале файла.

Типизированные и нетипизированные файлы процедура Reset открывает как для чтения, так и для записи.

Rewrite (f); - (перезапись) – процедура открывает новый пустой файл, имя которого задано процедурой Assign. Если файл с таким именем уже существует, то он очищается. После этого Eof (f) = True.

Close (f); - (закрыть) – процедура закрывает файл для чтения и записи.

Read (f, v1, .., vn); - процедура обеспечивает чтение из файла f очередных компонентов и занесение их в переменные  v1 – vn. Для типизированных файлов тип vi должен совпадать с типом компонентов файла. Например: Read (f, x);

Write (f, w1, .., wn); - процедура используется для записи в файл f значений выражений w1 – wn.   Для типизированных файлов тип выражений wi должен совпадать с типом компонентов файла. Например:   Write (f, X);

38-39 вопрос

Динамическая память  Динамическая память - это оперативная память ПК, предоставляемая программе при ее работе. Динамическое размещение данных означает использование динамической памяти непосредственно при работе программы. В отличие от этого статическое размещение осуществляется компилятором Object Pascal в процессе компиляции программы. При динамическом размещении заранее не известны ни тип, ни количество размещаемых данных.  Указатели  Оперативная память ПК представляет собой совокупность ячеек для хранения информации - байтов, каждый из которых имеет собственный номер. Эти номера называются адресами, они позволяют обращаться, к любому байту памяти. Object Pascal предоставляет в распоряжение программиста гибкое средство управления динамической памятью - так называемые указатели. Указатель - это переменная, которая в качестве своего значения содержит адрес байта памяти. С помощью указателей можно размещать в динамической памяти любой из известных в Object Pascal типов данных. Лишь некоторые из них (Byte, Char, ShortInt, Boolean) занимают во внутреннем представлении один байт, остальные - несколько смежных. Поэтому на самом деле указатель адресует лишь первый байт данных.  Как правило, указатель связывается с некоторым типом данных. Такие указатели будем называть типизированными. Для объявления типизированного указателя используется значок ^, который помещается перед соответствующим типом, например: 

40 вопрос Бинарное (двоичное) дерево (binary tree) - это упорядоченное дерево, каждая вершина которого имеет не более двух поддеревьев, причем для каждого узла выполняется правило: в левом поддереве содержатся только ключи, имеющие значения, меньшие, чем значение данного узла, а в правом поддереве содержатся только ключи, имеющие значения, большие, чем значение данного узла. Бинарное дерево является рекурсивной структурой, поскольку каждое его поддерево само является бинарным деревом и, следовательно, каждый его узел в свою очередь является корнем дерева. Узел дерева, не имеющий потомков, называется листом. Бинарное дерево может представлять собой пустое множество. Бинарное дерево может выродиться в список

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