- •1 Семестр
- •14 Занятий
- •1. Линейные и разветвляющиеся алгоритмы
- •Вычисления по формулам. Стандартные математические функции
- •Область на плоскости
- •Условный оператор
- •1.4. Логическое выражение в условном операторе
- •Ветвления
- •1.6. Побитовые операции
- •2. Циклы
- •Целочисленная арифметика. Приведение типов
- •2.2. Итерационные циклы
- •2.3. Нахождение простых чисел
- •2.4. Вычисления с точностью
- •2.5. Последовательности значений
- •2.6. Вычисления без хранения последовательности значений
- •2.7. Схема Горнера
- •Массивы. Указатели
- •Обработка одномерных массивов
- •Построение новой матрицы по части заданной матрицы
- •Обход матрицы
- •Алгоритм Эратосфена для нахождения простых чисел
- •Упорядоченность значений в матрицах
- •3.6. Преобразование матриц
- •Использование массивов для представления «длинных» чисел
- •Экономичное хранение матриц. Матричная алгебра
- •Строки.
- •Использование строкового типа
- •Перевод из одной cистемы счисления в другую
- •Выделение слов в строке
- •Массив слов
- •2 Семестр
- •29 Занятий
- •Функции
- •5.1. Передача массивов в функцию
- •Создание собственных процедур для обработки с-строк
- •5.3. Возврат ссылок
- •5.4. Рекурсия
- •5.5. Вычисление корня уравнения. Передача имени функции в качестве параметра. Аргументы по умолчанию
- •5.6. Вычисление интеграла. Передача имени функции в качестве параметра
- •5.7. Сортировка массивов
- •5.8. Сортировка слиянием
- •5.9. Перебор с возвратом
- •6. Файлы
- •6.1. Файлы чисел
- •6.2. Файлы записей
- •6.3. Использование структур для битового представления чисел
- •7. Динамические структуры данных
- •7.1. Динамическое выделение памяти для массивов
- •7.2. Линейный список
- •7.3. Линейные списки
- •7.4. Двухсвязные списки
- •7.5. Деревья
- •7.6. Графы
- •7.7. Более сложные связанные динамические структуры данных
- •8.1. Класс «Многоразрядное число»
- •8.2. Перегрузка операций
- •8.3 Класс «Матрица»
- •8.4 Класс «Линейный список»
- •8.5. Класс «Двусвязный список»
- •8.6. Класс «Бинарное дерево»
- •8.7. Класс «Граф»
- •9.2. Полиморфизм. Виртуальные методы
- •9.3. Полиморфизм. Виртуальные методы
8.6. Класс «Бинарное дерево»
Объявить шаблон класса «Бинарное дерево». Определить структуру класса и его методы. В классе должен быть конструктор по умолчанию, конструктор с формальными параметрами, конструктор копирования и деструктор.
Определить методы:
инициализация первого элемента структуры;
запись в структуру нового элемента;
удаление элемента (листа);
поиск элемента по заданному ключу поиска (значению информационного поля);
вывод структуры на экран;
удаления структуры.
Используя объекты класса «Бинарное дерево», реализовать алгоритм своего варианта задания 7.5.
8.7. Класс «Граф»
Объявить шаблон класса «Граф». Определить структуру класса и его методы. В классе должен быть конструктор по умолчанию, конструктор с формальными параметрами, конструктор копирования и деструктор.
Определить методы:
инициализация первого элемента структуры;
запись в структуру нового элемента;
удаление элемента;
вывод структуры на экран;
удаления структуры.
.
Используя объекты класса «Граф», реализовать алгоритм своего варианта задания 7.6.
8.8. Библиотека шаблонов STL. Векторы
8.7.1. Реализовать задание из 7.1.1, используя объявление и методы соответствующего параметризированного класса из стандартной библиотеки шаблонов STL.
8.7.2. Реализовать задание 7.1.2, используя объявление и методы соответствующего параметризированного класса из стандартной библиотеки шаблонов STL.
8.9. Библиотека шаблонов STL . Списки
8.8.1. Реализовать варианты заданий 7.2, используя объявление и методы соответствующего параметризированного класса из стандартной библиотеки шаблонов STL.
8.8.2. Реализовать вариант заданий 7.3, используя объявление и методы соответствующего параметризированного класса из стандартной библиотеки шаблонов STL.
8.10. Библиотека шаблонов STL . Ассоциативные Списки
Реализовать варианты заданий 4.4, используя объявление и методы соответствующего параметризированного класса из стандартной библиотеки шаблонов STL.
9. Наследование. Полиморфизм
9.1. Наследование
Для каждого класса описать поля, характеризующие объект, и методы, позволяющие заполнять и получать значения каждого из полей. выводить значения полей на экран, а также необходимые конструкторы. Конструкторы и методы должны проверять параметры на допустимость.
Определить и описать иерархию классов в следующих заданиях.
Реализовать функцию, получающую и возвращающую объекты базового типа.
студент, преподаватель, персона, лаборант;
журнал, газета, книга, печатное издание, учебник;
подразделение университета, аудитория, библиотека, учебная лаборатория, вычислительный центр;
тест, экзамен, зачет, испытание;
устройства вывода, выводящие звук, выводящие изображение, колонки, монитор, наушники.
компьютер, персональный компьютер, сеть компьютеров, мэйнфрейм (большой универсальный компьютер), сервер;
университет, лицей, школа, колледж, учебное заведение, институт, академия;
математика, физика, программирование, линейная алгебра, математический анализ, теоретическая механика, предмет;
подразделение университета, факультет, кафедра, библиотека, деканат;
накопители данных, внешние НД, жесткий диск, CD, карта памяти.
Pascal, С, С++, ассемблер, язык программирования;
список, односвязный список, многосвязный список, стек, очередь, бинарное дерево, граф.
