
- •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.
1.Рекурсия: прямая и косвенная.
Рекурсия — это такой способ организации вычислительного процесса, при котором процедура или функция обращается сама к себе.
Минус рекурсии. Решение занимает больше времени.
Различают 2 формы рекурсии: прямую и косвенную.
При прямой рекурсии процедура содержит оператор обращения к самой себе: А→А. При косвенной рекурсии одна процедура вызывает другую, которая сама либо посредством других процедур вызывает исходную процедуру: А→В→А.
При создании косвенной рекурсии возникает проблема: как описать вызываемую процедуру. В косвенной рекурсии процедура "А" вызывает процедуру "В", которая не описана. Выход из ситуации в следующем: используется опережающее описание с помощью директивы FORWARD. Эта директива объявляет только заголовок вызываемой процедуры, заменяя собой тело процедуры, откладывая описание содержимого (раздела операторов) на дальнейшее.
2. Объект. Способы описания. Инкапсуляция. Полиморфизм. Наследование.
Объектно-ориентированное программирование более структурированный, чем другие способы программирования и позволяет создавать модульные программы с представлением данных на определенном уровне абстракции. Характеризуется тремя основными свойствами:
Инкапсуляция –Объединение в одном объекте данных и действий над ними
Наследование - определение объекта и дальнейшее использование всех его свойств для построения иерархии порожденных объектов с возможностью для каждого порожденного объекта, относящегося к иерархии, доступа к коду и данным всех порождающих объектов.
Каждый потомок несет в себе характеристики своего предка (содержит те же данные и методы), а также обладает собственными характеристиками (данными и методами).
Полиморфизм-присваивание определенному действию одного имени, которое затем совместно используется по всей иерархии объектов сверху донизу, причем каждый объект иерархии выполняет это действие характерным именно для него способом.
Объект - высший уровень абстракции данных, который объединяет в себе данные (поля объекта) и методы. Полями объекта могут быть любые структуры данных, в том числе и другие объекты. Для описания методов используются традиционные для Паскаля процедуры и функции.
Зарезервированное слово Object используется для описания объектов в разделе описаний типов.
Описание объектного типа может находиться только на самом верхнем уровне программной единицы (программы, модуля), в которой используется этот тип.Чаще всего описание объекта выглядит примерно так:
type имя=object
[public]
заголовки методов
[private]
описание полей
end;
Поля и методы называются элементами объекта. Их видимостью управляют директивы private и public (эти директивы являются необязательными).
Объекты обычно описываются в модулях. В интерфейсную часть модуля interface помещают описание объектного типа, а в часть implementation – реализацию методов. При этом имя метода предваряют именем объекта, разделяя их точкой, например:
Procedure Point.Show;
Если объект порожден от другого объекта-родителя, то имя родителя указывается в скобках за ключевым словом Object:
Type TPoint=Object(TGraphObject)
{данные объекта}
{методы объекта}
end;
В данном случае объект TPoint является потомком от объекта TGraphObject.
Билет 2.