- •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. Полиморфизм. Виртуальные методы
7.4. Двухсвязные списки
Выполнить задания с использованием двухсвязных списков.
Даны натуральное число n, действительные числа x1, x2, ... xn. Разработать программу вычисления значения выражения следующего вида:
.
Даны натуральное число n, действительные числа x1, x2, ... xn. Разработать программу вычисления значения выражения следующего вида:
.
Даны натуральное число n, действительные числа x1, x2, ... xn. Разработать программу вычисления значения выражения следующего вида:
.Даны натуральное число n, действительные числа x1, x2, ... xn. Разработать программу вычисления значения выражения следующего вида:
.Даны натуральное число n, действительные числа a1, a2, ... a2n. Получить
.Даны натуральное число n, действительные числа a1, a2, ... a2n. Получить
.Даны натуральное число n, действительные числа a1, a2, ..., a2n. Получить
.Даны натуральное число n, действительные числа a1, a2, ..., a2n. Получить
.Даны натуральное число n, действительные числа a1, a2, ..., a2n. Получить
.Даны натуральное число n, действительные числа a1, a2, ..., a2n. Получить
.Даны натуральное число n, действительные числа a1, a2, ..., a2n. Получить
.Даны натуральное число n, действительные числа a1, a2, ..., a2n. Получить
.
7.5. Деревья
По заданной последовательности различных целых чисел построить соответствующее бинарное дерево поиска T. Выполнить следующие задания и вывести элементы дерева на экран.
Определяет значение самого левого листа дерева.
Определить число листьев дерева.
Удалить вершину с минимальным значением элементов.
Удалить вершину с максимальным значением элементов.
Определить число элементов k-ого уровня.
Вывести на экран все листья дерева.
Определить номер уровня, в котором содержится максимальное количество вершин.
Определить максимальную глубину дерева.
Удалить все листья дерева.
Определить число ветвей от корня до вершины с заданным элементом. Вывести часть дерева от вершины до данного элемента на экран.
Определить число ветвей n-го уровня этого дерева.
Дополнить полученное дерево новыми вершинами так, чтобы каждая вершина, которая не является листом, имела ровно двух преемников, значения элементов в дополнительных вершинах задавать равными значениям их предшественников.
7.6. Графы
Создать подходящий тип данных для представления графа. Написать и протестировать процедуры обеспечивающие добавление вершины в граф, вывода элементов графа на экран, выполнить следующие задания.
Найти все вершины заданного графа, недостижимые от заданной его вершины.
Определить, что для любой пары вершин заданного орграфа одна из этих вершин достижима от другой.
Определить, является ли связным заданный граф.
Найти длину кратчайшего цикла в графе.
Для двух выделенных вершин графа найти соединяющий их простой путь.
Найти самый длинный простой путь в графе.
Найти все вершины графа, к которым существует путь заданной длины от выделенной его вершины.
Найти все вершины орграфа, от которых существует путь заданной длины к выделенной вершине.
Источником орграфа назовем вершину, от которой достижимы все другие вершины; стоком – вершину, достижимую от всех других вершин. Найти все источники и стоки данного орграфа.
Найти такую вершину заданного графа, которая принадлежит каждому пути между двумя выделенными (различными) вершинами и отлична от каждой из них.
Найти диаметр графа, т. е. максимум расстояний между всевозможными парами его вершин.
Найти медиану графа, т. е. такую его вершину, что сумма расстояний от нее до остальных вершин минимальна.
