- •Билет 1
- •Билет 2
- •Способы представления графов
- •Билет 3
- •Билет 4
- •Билет 5
- •Билет 6
- •Билет 7
- •Основы визуального программирования
- •Билет 8
- •Обменная сортировка.
- •Конструкторы и деструкторы
- •Билет 9
- •Билет 10
- •Статическое и динамическое распределение памяти. Понятие указателя.
- •Процедуры и функции модуля graph.
- •Билет 11
- •Доступ к системным ресурсам в операционной системе pc-dos
- •Билет 12
- •Билет 13
- •Билет 14
- •Билет 15
- •Алгоритм генерирования перестановок с минимальным числом транспозиций
- •1. Введение в теорию графов. Способы представления графов: матрицы смежности и инцидентности, списки инцидентностей, списки ребер.
- •2. Функции библиотеки dos. Прерывания. Обработка прерываний.
- •Связные компоненты графа. Деревья. Бинарное дерево как связный граф без циклов
- •2.Сортировка вставками
- •2)Итерационные циклы
- •1.Эйлеровы пути в графе.
- •2.Ввод-вывод с помощью текстовых файлов.
- •Алгоритм Дейкстры (Dijkstra)
- •Вопрос 1.
- •Вопрос 2.
- •Создание и обработка одномерных динамических массивов.
- •Операторы цикла.
- •2.Сортировка распределением
- •1)Односвязные линейные списки
- •2) Записи. Организация, размещение. Записи с вариантами.
- •1.Алгоритмы с возвратом, их реализация с помощью рекурсий и с использованием стека. Гамильтоновы циклы.
Билет 1
Рекурсивная процедура – процедура, которая обращается сама к себе прямо или косвенно.
Функция называется прямо рекурсивной, если содержит в своем теле вызов самой себя. Если же функция вызывает другую функцию, которая в свою очередь вызывает первую, то такая функция называется косвенно рекурсивной.
ПРЯМАЯ РЕКУРСИЯ
void A(){
Операторы;
A();
Операторы;
}
КОСВЕННАЯ РЕКУРСИЯ
void A(){
Операторы;
B();
Операторы;
}
void B(){
Операторы;
A();
Операторы;
}
Объектом – тип данных, аналогичный записи (record), с которым связан некоторый набор процедур и функций (называемых методами). Для каждого объекта мы можем создавать любое количество экземпляров объекта.
Для описания объекта используется синтаксис, аналогичный описанию записи:
type <имя объекта>=object <список имён полей>: <тип полей>; .... <список имён полей>: <тип полей>; <объявление метода> ... <объявление метода> end; |
Описание метода аналогично предварительному описанию функции.
После описания объекта описываются методы:
procedure <имя объекта>.<имя метода> <параметры> <описание процедуры> |
Аналогично можно описать и метод-функцию. Методы (также как и обычные подпрограммы) могут не иметь параметров. Так как методы предназначены для работы с экземплярами объектов в них определена служебная переменная Self, являющаяся псевдонимом для текущего экземпляра (фактически Self - это скрытый параметр). Например, обращение к полю x из метода производится так: self.x. Если в методе нет одноимённой локальной переменной, к полям можно обращаться по названию, опуская Self и точку.
Инкапсуляция – объединения данных, процедур и функций, и работы с ними в 1 объекте.
Полиморфизм – использование одного имени для конкретного действия в отношении всей иерархии объекта, но для каждого объекта такое действие реализуется соответствующим ему образом.
Наследование – использование заданного объекта для построения иерархических порождений объектов, где для каждого из них наследуется доступ к данным и коду предков.
Билет 2
Процедура или функция представляет собой последовательность операторов, которая имеет имя, список параметров и может быть вызвана из различных частей программы. Функции, в отличие от процедур, в результате своего выполнения возвращают значение. Для единообразия функции и процедуры называются подпрограммами.
Любая используемая в программе процедура или функция должна быть предварительно описана в разделе описаний.
Описание процедуры имеет вид:
procedure имя(список формальных параметров); раздел описаний begin операторы end;
Описание функции имеет вид:
function имя(список формальных параметров): тип возвращаемого значения; раздел описаний begin операторы end;
Операторы подпрограммы, окаймленные операторными скобками begin/end, называются телом этой подпрограммы.