Вопросы к зачёту
  1. Способы реализации множества.
  2. Обработка исключительных ситуаций.
  3. Строки.
  4. Динамические массивы.
  5. Разработка подпрограмм с использованием рекурсии.
  6. Работа с типизированными файлами.
  7. Записи.
  8. Методы внутренней сортировки.
  9. Методы внешней сортировки.
  10. Указатели. Динамическое распределение памяти.
  11. Списки.
  12. Информационно-логические структуры.
  13. Бинарные деревья.
  14. Формы Бэкуса-Наура. Примеры описания конструкций языка Паскаль.
  15. Средства отладки.

Краткое содержание ответов на вопросы

  1. Принципы реализации типа «множество» на основе символьного массива и на основе логического массива.
  2. Понятие исключения. Использование операторов try…except и try…finally.
  3. Короткая строка. Длинная строка. Механизмы подсчёта ссылок и копирования при записи. Операции и операторы для работы со строками.
  4. Понятие динамического массива. Объявление динамического массива. Получение и задание длины динамического массива. Индексы динамического массива. Функции Low и High. Копирование динамического массива.
  5. Понятие рекурсии. Определения рекурсивной подпрограммы, рекурсивной базы, терминальной и рабочей ветвей, объёма и глубины рекурсии, линейной и каскадной рекурсии. Достоинства и недостатки рекурсивных подпрограмм. Пример рекурсивной подпрограммы.
  6. Понятие типизированного файла. Объявление типизированного файла. Отличие типизированного файла от текстового. Ввод и вывод с использованием типизированного файла. Прямой доступ к типизированному файлу.
  7. Понятие записи. Объявление записи. Поля записи. Работа с записями. Записи с вариантами.
  8. Сортировка обменами, сортировка выбором, сортировка вставками, сортировка вставками со сторожевым элементом, сортировка разделением (описание на естественном языке алгоритмов сортировки). Временная и пространственная сложность методов.
  9. Сортировка прямым слиянием, сортировка естественным слиянием, сбалансированное многопутевое слияние (описание на естественном языке алгоритмов сортировки). Временная и пространственная сложность методов.
  10. Понятие указателя. Объявление указателя. Работа с указателем. Работа с динамической памятью – отличие от статических переменных, выделение памяти, освобождение памяти.
  11. Понятие однонаправленного и двунаправленного списков. Отличие от массивов. Преимущества и недостатки. Типы данных, требующиеся для создания списков и работы с ними. Пример подпрограммы (для выполнения какого-нибудь действия над списком).
  12. Понятие информационно-логической структуры. Определение стека, очереди и дека. Способы реализации.
  13. Понятие дерева. Определения бинарного дерева и строго бинарного дерева. Способы обхода дерева. Типы данных, требующиеся для работы с деревом. Подпрограмма для поиска вершины дерева, содержащей заданную информацию.
  14. Понятие языка. Формы Бэкуса-Наура. Примеры БНФ. Этапы компиляции.
  15. Пошаговое выполнение программы. Точки прерывания. Способы наблюдения значений переменных.