- •1.Рекурсия: прямая и косвенная.
- •2. Объект. Способы описания. Инкапсуляция. Полиморфизм. Наследование.
- •1.Процедуры и функции.
- •2. Способы представления графов.
- •1.Структура Unit-a.
- •2.Введение в Delphi. Главное окно: пиктографические кнопки, палитра компонентов. Окна: формы, инспектора объектов, кода программы. Основы визуального программирования.
- •1.Организация библиотек. Стандартные библиотечные модули и модули пользователя.
- •1.Файлы в Паскале: текстовые файлы, типизированные файлы, нетипизированные файлы, их назначение и использование.
- •2. Построение остовного дерева поиском в глубину (нерекурсивный вариант).
- •1.Создание удобного пользовательского интерфейса: системы меню, окна для ввода, корректировки, просмотра информации. Модуль Crt.
- •2.Сортировка подсчетом
- •1.Стандартные процедуры и функции Unit Graph. Методы создания анимации.
- •2.Основы визуального программирования. Пустая форма и ее модификация. Компоненты страницы Standard. Размещение нового компонента.
- •1.Сортировка обменом
- •2.Объект. Конструктор и деструктор. Виртуальные функции.
- •1.Переменные действительного типа, их объявление и использование.
- •2. Сортировка выбором
- •1.Статическое и динамическое распределение памяти. Понятие указателя.
- •2.Процедуры и функции модуля graph.
- •1.Доступ к системным ресурсам. Определение переменной как absolute.
- •2.Процедуры и функции модуля crt, их использование.
- •1.Динамические структуры данных и их организация с помощью указателей.
- •2.Файлы без типа, их применение.
- •1.Введение в комбинаторику. Генерация k–элементного подмножества данного множества. Размещения. Сочетания.
- •2. Законы алгебры логики. Таблицы истинности.?????
- •1.Генерация всех перестановок n–элементного множества в антилексикографическом порядке.
- •2. Создание и обработка типизированных файлов.?????
- •1.Алгоритм генерирования перестановок с минимальным числом транспозиций.
- •2. Объявление массивов????
- •1.Введение в теорию графов. Способы представления графов: матрицы смежности и инцидентности, списки инцидентностей.
- •2.Функции библиотеки dos. Прерывания. Обработка прерываний.?????
- •1.Связные компоненты графа. Деревья. Бинарное дерево как связный граф без циклов.????
- •2. Сортировка вставками
- •1.Поиск в глубину в графе
- •2. Итерационные циклы
- •Цикл с предусловием. Оператор while ... Do.
- •Цикл с постусловием. Оператор repeat... Until.
- •Обозначение циклов на блок-схемах согласно госТу.
- •1.Поиск в ширину в графе
- •2. Оператор выбора case
- •1.Эйлеровы пути в графе.
- •2. Ввод-вывод с помощью текстовых файлов.
- •1.Алгоритмы с возвратом, их реализация с помощью рекурсий и с использованием стека. Гамильтоновы циклы.
- •2. Объект. Инициализация и разрушение объекта.
- •1.Кратчайшие пути. Алгоритмы Дейкстры, Флойда.
- •2.Процедурные типы. Передача функций как параметров.
- •1.Передача параметров вызываемым программам.?????
- •2. Объект. Свойства объектов.
- •1.Очереди и операции над ними.
- •2. Сортировка слиянием
- •1.Структурированные типы данных: массивы, символьные переменные и строки, множества.
- •1. Массивы.
- •2. Строковый тип данных.
- •3. Множества.
- •4. Записи.
- •2. Условный оператор.
- •1.Создание и обработка одномерных динамических массивов.
- •2. Операторы цикла.
- •1.Стеки и операции над ними.
- •2. Поразрядная сортировка
- •1.Процедуры и функции.
- •2. Бинарные деревья, их создание. Способы обхода дерева.
- •1.Односвязные линейные списки и операции над ними.
- •2. Записи. Организация, размещение. Записи с вариантами.??????
- •1.Двухсвязные линейные списки и кольца, операции над ними.
- •2. Затем создаём два указателя:
- •1.Обход списка в прямом направлении и его вывод на экран монитора:
- •2.Обход списка в обратном направлении и его вывод на экран монитора:
- •2. Сортировка и поиск информации. Методы внутренней сортировки.
1.Статическое и динамическое распределение памяти. Понятие указателя.
Динамическая память - это оперативная память ЭВМ, предоставляемая программе при её работе
Динамические переменные - размещаются в памяти непосредственно в процессе работы программы.Для организации динамического распределения памяти используются переменные специального типа -указатели, которые обеспечивают работу непосредственно с адресами ячеек памяти
Указатель — это переменная, значением которой является адрес другой переменной или структуры данных. Для объявления типизированного указателя используется значок ^, который помещается перед соответствующим типом.
Процедуры управления:
Процедура DISPOSE. Возвращает в кучу фрагмент динамической памяти, который ранее был зарезервирован за типизированным указателем.
Процедура FREEMEM. Возвращает в кучу фрагмент динамической памяти, который ранее был зарезервирован за нетипизированным указателем.
Процедура GETMEM. Резервирует за нетипизированным указателем фрагмент динамической памяти требуемого размера.
Процедура NEW. Резервирует фрагмент кучи для размещения переменной.
Процедура RELEASE. Освобождает участок кучи.
Функция SIZEOF. Возвращает длину в байтах внутреннего представления указанного объекта.
2.Процедуры и функции модуля graph.
Запуск графической системы. Для запуска графической системы необходимо сделать следующее:
Подключить модуль CRAPH - библиотеку графических процедур: uses graph;
Установить графический режим с помощью двух переменных:
var
DriverVar, ModeVar: integer;
begin
DriverVar:=Detect;
InitGraph(DriverVar, ModeVar,’\TP\GRAPH’);
Процедуры и функции модуля CRAPH
Здесь представлены не все процедуры и функции модуля GRAPH, а только самые необходимые.
Процедуры
Arc (X,Y:Integer; U1, U2, R:Word) Строит дугу окружности текущим цветом с текущими параметрами линии
Bar (X1, Y1, X2, Y2:Integer)Строит прямоугольник, закрашенный текущим цветом с использованием текущего стиля (орнамента, штриховки
Bar3D (X1, Y1, X2, Y2:Integer; Glubina: Word; Top:Boolean)Строит параллелепипед, используя текущий стиль и цвет.
Circle (X, Y: Integer; R: word)Рисует текущим цветом окружность радиуса R с центром в точке (X, Y).
ClearDevice Очищает графический экран, закрашивает его в цвет фона.
ClearViewPort Очищает выделенное графическое окно, закрашивает его в цвет фона.
Билет № 11
1.Доступ к системным ресурсам. Определение переменной как absolute.
Переменные можно описать так, что они будут располагаться по определенному адресу в памяти, и в этом случае они называются абсолютными переменными. Описание таких переменных должно содержать после типа оператор absolute.
Первая часть оператора absolute содержит сегмент и смещение, то есть адрес, по которому переменная должна быть размещена.
В программах защищенного режима DOS и в Windows первую форму оператор absolute нужно использовать очень аккуратно, если вообще стоит это делать. Во время выполнения прикладной программы Windows или DOS защищенного режима она может не иметь полномочий доступа к областям памяти вне вашей программы. Попытка доступа к этим областям памяти может привести к сбою программы.
Вторая форма оператора absolute используется для описания переменной, которая помещается "поверх" другой переменной, то есть по тому же самому адресу, что и другая переменная.
var
Str: string[32];
StrLen: byte absolute Str;
Это описание указывает, что переменная StrLen должна размещаться с того же адреса, что и переменная Str, а поскольку первый байт строковой переменной содержит динамическую длину строки, то StrLen будет содержать длину Str.
Эту вторую форму оператора absolute можно без опасения использовать при программировании в Windows или в защищенном режиме DOS. Память, к которой вы обращаетесь, находится в области программы.