- Способы реализации множества.
- Обработка исключительных ситуаций.
- Строки.
- Динамические массивы.
- Разработка подпрограмм с использованием рекурсии.
- Работа с типизированными файлами.
- Записи.
- Методы внутренней сортировки.
- Методы внешней сортировки.
- Указатели. Динамическое распределение памяти.
- Списки.
- Информационно-логические структуры.
- Бинарные деревья.
- Формы Бэкуса-Наура. Примеры описания конструкций языка Паскаль.
- Средства отладки.
Краткое содержание ответов на вопросы
- Принципы реализации типа «множество» на основе символьного массива и на основе логического массива.
- Понятие исключения. Использование операторов try…except и try…finally.
- Короткая строка. Длинная строка. Механизмы подсчёта ссылок и копирования при записи. Операции и операторы для работы со строками.
- Понятие динамического массива. Объявление динамического массива. Получение и задание длины динамического массива. Индексы динамического массива. Функции Low и High. Копирование динамического массива.
- Понятие рекурсии. Определения рекурсивной подпрограммы, рекурсивной базы, терминальной и рабочей ветвей, объёма и глубины рекурсии, линейной и каскадной рекурсии. Достоинства и недостатки рекурсивных подпрограмм. Пример рекурсивной подпрограммы.
- Понятие типизированного файла. Объявление типизированного файла. Отличие типизированного файла от текстового. Ввод и вывод с использованием типизированного файла. Прямой доступ к типизированному файлу.
- Понятие записи. Объявление записи. Поля записи. Работа с записями. Записи с вариантами.
- Сортировка обменами, сортировка выбором, сортировка вставками, сортировка вставками со сторожевым элементом, сортировка разделением (описание на естественном языке алгоритмов сортировки). Временная и пространственная сложность методов.
- Сортировка прямым слиянием, сортировка естественным слиянием, сбалансированное многопутевое слияние (описание на естественном языке алгоритмов сортировки). Временная и пространственная сложность методов.
- Понятие указателя. Объявление указателя. Работа с указателем. Работа с динамической памятью – отличие от статических переменных, выделение памяти, освобождение памяти.
- Понятие однонаправленного и двунаправленного списков. Отличие от массивов. Преимущества и недостатки. Типы данных, требующиеся для создания списков и работы с ними. Пример подпрограммы (для выполнения какого-нибудь действия над списком).
- Понятие информационно-логической структуры. Определение стека, очереди и дека. Способы реализации.
- Понятие дерева. Определения бинарного дерева и строго бинарного дерева. Способы обхода дерева. Типы данных, требующиеся для работы с деревом. Подпрограмма для поиска вершины дерева, содержащей заданную информацию.
- Понятие языка. Формы Бэкуса-Наура. Примеры БНФ. Этапы компиляции.
- Пошаговое выполнение программы. Точки прерывания. Способы наблюдения значений переменных.