
- •Тема 1. Структурное программирование
- •Вопрос 1. Предпосылки структурного программирования. Проблемы неструктурированных программ. Структурный подход к программированию.
- •Вопрос 3. Структурное программирование. Базовые конструкции. Вложенность конструкций. Принцип модульности. Псевдокод.
- •Вопрос 24. Чисто виртуальные методы. Абстрактные классы. Конфликты при множественном наследовании. Виртуальные базовые классы.
- •Тема 7. Объектно-ориентированное программирование (окончание)
- •Вопрос 36. Динамические структуры данных. Деревья. Обход дерева. Графы. Обход графа.
- •Тема 11. Алгоритмы и структуры данных (окончание)
- •Вопрос 37. Задачи комбинаторной оптимизации. Задача коммивояжёра. Структура данных. Метод перебора «грубой силой». Метод ближайшего соседа. Метод ветвей и границ. Достоинства и недостатки.
- •Вопрос 38. Динамическое программирование. Принцип Беллмана. Эвристические алгоритмы.
Вопрос 24. Чисто виртуальные методы. Абстрактные классы. Конфликты при множественном наследовании. Виртуальные базовые классы.
Слайд 06-20. Чисто виртуальные методы
Слайд 06-21. Абстрактные классы
Слайд 06-22. Конфликты при множественном наследовании
Слайд 06-23. Виртуальные базовые классы
Тема 7. Объектно-ориентированное программирование (окончание)
Вопрос 25. Перегрузка функций в С++. Перегрузка методов в С++. Перегрузка, переопределение, сокрытие.
Слайд 07-02. Перегрузка функций
Слайд 07-03. Перегрузка функций в С++
Слайд 07-04. Перегрузка методов в С++
Слайд 07-05. Перегрузка, переопределение, сокрытие
Слайд 07-06. Пример перегрузки, переопределения, сокрытия
Вопрос 26. Перегрузка операторов в С++. Правила перегрузки операторов. Пример перегрузки оператора. Перегрузка операторов ++ и --
Слайд 07-07. Перегрузка операторов в С++
Слайд 07-08. Правила перегрузки операторов
Слайд 07-09. Пример перегрузки оператора «+» в области класса
Слайд 07-10. Пример перегрузки оператора «+» вне области класса
Слайд 07-11. Пример перегрузки оператора присваивания
Слайд 07-12. Перегруженные операторы и цепочные вычисления
Слайд 07-13. Многократная перегрузка операторов
Слайд 07-14. Пример перегрузки оператора >
Слайд 07-15. Перегрузка операторов ++ и --
Вопрос 27. Шаблоны функций. Замещение шаблонов функций. Шаблоны классов. Использование шаблонов в программе. Полное и частичное замещение шаблонов классов. Полное и частичное замещение шаблонов классов. Создание новых типов на основе шаблонов классов.
Слайд 07-16. Шаблоны функций
Слайд 07-17. Замещение шаблонов функций
Слайд 07-18. Шаблоны классов
Слайд 07-19. Реализация методов шаблонов классов
Слайд 07-20. Использование шаблонов в программе
Слайд 07-21. Полное и частичное замещение шаблонов классов
Слайд 07-22. Создание новых типов на основе шаблонов классов
Тема 8. Алгоритмы и структуры данных
Вопрос 28. Понятие алгоритма. Свойства алгоритма. Эффективность алгоритмов. Трансвычислительные задачи.
Слайд 08-02. Роль алгоритмов и структур данных
Слайд 08-03. Понятие алгоритма
Слайд 08-04. Свойства алгоритма
Слайд 08-05. Пример алгоритма - задача о Ханойских башнях
Слайд 08-06. Решение задачи о Ханойских башнях
Слайд 08-07. Эффективность алгоритмов
Слайд 08-08. Трансвычислительные задачи
Вопрос 29. Представления алгоритмов. Блок-схемы алгоритмов. Элементы блок-схем. Классы алгоритмов.
Слайд 08-09. Представления алгоритмов
Слайд 08-10. Блок-схемы алгоритмов
Слайд 08-11. Классы алгоритмов
Вопрос 30. Сортировка массивов. Прямые алгоритмы сортировки. Сортировка прямым включением. Сортировка прямым выбором. Сортировка прямым обменом. Шейкерная сортировка.
Слайд 08-12. Сортировка массивов
Слайд 08-13. Алгоритмы сортировки массивов
Слайд 08-14. Сортировка прямым включением (StraightInsertion)
Слайд 08-15. Пример сортировки прямым включением
Слайд 08-16. Сортировка прямым выбором (StraightSelection)
Слайд 08-17. Пример сортировки прямым выбором
Слайд 08-18. Сортировка прямым обменом (BubbleSort)
Слайд 08-19. Пример сортировки прямым обменом
Слайд 08-20. Шейкерная сортировка (ShakerSort)
Слайд 08-21. Пример шейкерной сортировки
Вопрос 31. Сортировка массивов. Улучшенные методы сортировки. Улучшенный метод сортировки Шелла. Метод быстрой сортировки Хоара.
Слайд 08-22. Улучшенный метод сортировки Шелла (ShellSort)
Слайд 08-23. Метод быстрой сортировки Хоара (QuickSort)
Слайд 08-24. Пример быстрой сортировки
Тема 9. Алгоритмы и структуры данных (продолжение)
Вопрос 32. Алгоритмы поиска в массивах. Линейный поиск. Двоичный поиск. Интерполяционный поиск.
Слайд 09-02. Алгоритмы поиска
Слайд 09-03. Поиск в массивах
Слайд 09-04. Линейный поиск в массиве
Слайд 09-05. Пример линейного поиска в массиве
Слайд 09-06. Двоичный поиск в массиве
Слайд 09-07. Двоичный поиск в массиве
Слайд 09-08. Пример двоичного поиска в массиве
Слайд 09-09. Интерполяционный поиск в массиве
Слайд 09-10. Пример интерполяционного поиска в массиве
Вопрос 33. Алгоритмы поиска в строках. Прямой поиск в строке. Алгоритм Кнута, Морриса и Пратта. Алгоритм Боуера и Мура.
Слайд 09-11. Поиск в строках
Слайд 09-12. Задача поиска в строках
Слайд 09-13. Прямой поиск в строке
Слайд 09-14. Прямой поиск в строке
Слайд 09-15. Алгоритм Кнута, Морриса и Пратта
Слайд 09-16. Алгоритм Боуера и Мура
Вопрос 34. Поиск в файлах базы данных. Индексно-последовательный метод доступа (ISAM) . Доступ по вычисляемому ключу (HASH).
Слайд 09-17. Поиск в файлах базы данных
Слайд 09-18. Индексно-последовательный метод доступа (ISAM)
Слайд 09-19. Доступ по вычисляемому ключу (HASH)
Тема 10. Алгоритмы и структуры данных (продолжение)
Вопрос 35. Динамические структуры данных. Линейные списки. Обход списка. Включение в список. Исключение из списка. Очереди. Стеки.
Слайд 10-02. Статические и динамические структуры данных
Слайд 10-03. Динамические структуры данных
Слайд 10-04. Линейные списки
Слайд 10-05. Пример обхода списка
Слайд 10-06. Включение в список
Слайд 10-07. Пример включения в список
Слайд 10-08. Исключение из списка
Слайд 10-09. Пример исключения из списка
Слайд 10-10. Очередь, стек
Слайд 10-11. Пример реализации очереди
Слайд 10-12. Пример реализации стека