- •Рецензент: старший преподаватель кафедры прикладной информатики зип СибУпк ю. Е. Хохлова.
- •1. Общие положения
- •1.1. Цель и задачи дисциплины, ее место в учебном процессе
- •1.2. Требования к уровню освоения содержания дисциплины
- •2. Основные вопросы курса
- •Тема 9. Событийное программирование
- •Тема 10. Параллельные вычислительные технологии
- •3. Методические указания по самостоятельному изучению тем
- •Тема 1. Общее понятие алгоритма.
- •Тема 5. Структуры данных
- •Тема 6. Сортировка
- •Тема 7. Поиск
- •Тема 8. Объектно-ориентированное программирование
- •Тема 2. Основные конструкции программирования
- •Тема 3. Теория алгоритмов
- •Тема 4. Рекурсия
- •Тема 5. Структуры данных
- •Тема 6. Сортировка
- •Тема 7. Поиск
- •Тема 8. Объектно-ориентированное программирование
- •Тема 9. Событийное программирование
- •Тема 10. Параллельные вычислительные технологии
- •Какая система может быть отнесена к параллельной вычислительной системе?
- •4. Правила выполнения и оформления
- •Если рецензент предлагает внести в содержание контрольной работы те или иные исправления или дополнения и прислать их для повторной проверки, то это следует сделать в короткий срок.
- •5. Правила выбора варианта
- •6. Методические указания
- •7. Задания контрольной работы
- •В авторской редакции
Тема 6. Сортировка
Внутренняя сортировка (сортировка массивов). Понятие сложности алгоритма сортировки. Основные алгоритмы внутренней сортировки: пузырьковая сортировка, шейкерная сортировка, сортировка простым выбором, сортировка простыми вставками, сортировка Шелла, сортировка слиянием, быстрая сортировка. Внешняя сортировка (сортировка файлов). Отрезки файла. Операции разделения файла и слияния файлов. Некоторые алгоритмы внешней сортировки: многофазная сортировка, сбалансированное слияние. Использование алгоритмов внутренней сортировки в сортировке последовательных файлов.
При изучении данной темы следует обратить внимание на источники: [1], [2], [3].
Контрольные вопросы для самопроверки:
Поясните операцию сортировки элементов массива.
Какие показатели эффективности алгоритма сортировки можете перечислить?
Приведите примеры квадратичных и субквадратичных алгоритмов сортировки элементов массива.
Дайте определение логарифмическому алгоритму сортировки.
Дайте определение линейному алгоритму сортировки.
Поясните сортировку пузырьком и оцените показатели эффективности.
Поясните сортировку вставками.
Дайте определение сортировки выбором.
Приведите примеры сортировки выбором.
Тема 7. Поиск
Поиск в массиве. Линейный поиск. Бинарный поиск. Поиск в таблице. Хеширование. Выбор хеш-функции. Разрешение коллизий: метод открытой адресации, метод цепочек.
При изучении данной темы следует обратить внимание на источники: [1], [2], [3].
Контрольные вопросы для самопроверки:
Дайте определение задачи поиска в массиве.
Поясните алгоритм линейного поиска в массиве.
Оцените количество элементарных операций в линейном поиске.
Выполните сравнительный анализ эффективности линейного и бинарного алгоритмов поиска.
Как реализуется поиск в таблице?
В чем состоит хеширование?
Как выполняется выбор хеш-функции?
Раскройте понятие коллизии.
В чем состоит метод открытой адресации?
Опишите метод цепочек.
Тема 8. Объектно-ориентированное программирование
Парадигма объектно-ориентированного программирования (ООП): концепции объекта и класса, инкапсуляции, наследования и полиморфизма. Спецификация видимости атрибутов и методов объекта. Механизмы раннего и позднего связывания. Статические и виртуальные методы. Иерархии классов. Шаблоны классов.
При изучении данной темы следует обратить внимание на источники: [1], [2], [3].
Контрольные вопросы для самопроверки:
Раскройте понятия объекта и класса.
Что понимают под инкапсуляцией?
Что такое наследование?
В чем состоит полиморфизм поведения класса?
Приведите спецификацию видимости атрибутов и методов класса.
В чем состоит механизм раннего (позднего) связывания?
Приведите примеры статистического и виртуального методов.
Тема 9. Событийное программирование
и прикладные программные интерфейсы
Событийно-управляемое программирование. Пользовательские и системные события в программе. Методы обработки и распространение событий. Управление параллелизмом с помощью механизма обработки событий. Прикладной программный интерфейс (Application Programming Interface), API-программирование. Методы обработки данных, основанные на компонентных технологиях. Промежуточное программное обеспечение (middleware).
При изучении данной темы следует обратить внимание на источники: [1], [2], [3].
Контрольные вопросы для самопроверки:
В чем заключается событийно-управляемое программирование?
Определите пользовательские и системные события в программе.
Какие методы обработки и распространения событий можете назвать?
В чем состоит параллелизм обработки событий?
Что называют прикладным программным интерфейсом?
Что такое промежуточное программное обеспечение?
