- •1 Семестр
- •18 Занятий
- •1. Линейные и разветвляющиеся алгоритмы
- •Вычисления по формулам. Стандартные математические функции
- •Побитовые операции
- •Область на плоскости
- •Условный оператор
- •Логическое выражение в условном операторе
- •Ветвления
- •2. Циклы
- •Целочисленная арифметика. Приведение типов
- •Вложенные циклы. Схема Горнера
- •2.3. Перебор значений
- •2.4. Итерационные циклы. Вычисления с точностью
- •2.5. Нахождение простых чисел
- •2.6. Вычисления без хранения последовательности значений
- •Массивы. Указатели
- •Обработка одномерных массивов
- •Построение новой матрицы по части заданной матрицы
- •Обход матрицы
- •Упорядоченность значений в матрицах
- •Алгоритм Эратосфена для нахождения простых чисел
- •Преобразование матриц
- •*** Использование массивов для представления «длинных» чисел
- •*** Экономичное хранение матриц. Матричная алгебра
- •Строки. Структуры
- •Использование строкового типа
- •Перевод из одной cистемы счисления в другую
- •Выделение слов в строке
- •Массив слов
- •Создание собственных процедур для обработки строк
- •Функции
- •5.1. Передача параметров по значению и по ссылке
- •5.2. Перегрузка и шаблон функций
- •5.3. Возврат ссылок
- •5.4. Рекурсия
- •5.5. *** Перебор с возвратом
- •2 Семестр (15 занятий)
- •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 *** Класс «Граф»
- •Наследование. Полиморфизм
- •9.1. Наследование
- •9.2. Полиморфизм. Виртуальные методы
- •9.3. *** Полиморфизм. Виртуальные методы
-
Массивы. Указатели
-
Обработка одномерных массивов
-
3.1.1. Дан массив целых чисел, содержащий n элементов. Для тестирования предусмотреть возможность задавать элементы массива различным образом: при описании с инициализацией, присвоением значений (в том числе случайных), или вводом необходимых значений..
-
Получить без повторений элементы, встречающиеся в массиве более одного раза.
-
Найти в целочисленном массиве за один просмотр 5 наибольших элементов.
-
Получить за один просмотр массив С(К), упорядоченный по возрастанию, путем слияния массивов A(N) и B(M), упорядоченных по возрастанию (K = N + M).
-
Из двух массивов A(N) и B(M), упорядоченных по возрастанию, получить за один просмотр массив С(К), также упорядоченный по возрастанию, в который включить пересечение элементов двух исходных массивов.
-
Из двух массивов A(N) и B(M), упорядоченных по возрастанию, получить за один просмотр массив С(К), также упорядоченный по возрастанию, в который включить элементы первого массива, исключив из них элементы второго массива.
-
Записать в этот массив сначала все положительные числа, а затем все отрицательные и нули, сохраняя порядок их следования.
-
По заданной последовательности целых чисел А(1), A(2), ... А(n) построить последовательность В такую, что B(i) – это количество элементов, превосходящих A(i), в начальном отрезке последовательности А длиной i – 1.
-
По заданной последовательности целых чисел А(1), A(2), ... А(n) построить последовательность В такую, что B(i) – это количество элементов, не превосходящих A(i), в конечном отрезке последовательности А длиной n – i.
-
Для заданной последовательности А целых чисел определим T(i, j) как . Найти i, j такие, что T(i, j) максимально.
-
Найти максимальную по длине монотонную (неубывающую или невозрастающую) подпоследовательность заданной последовательности целых чисел.
-
Найти в целочисленном массиве за один просмотр 5 наименьших элементов.
-
Определить, являются ли элементы массива периодической последовательностью чисел.
3.1.2. Выполнить задание 3.1.1 с использованием указателей.
-
Построение новой матрицы по части заданной матрицы
Получить квадратную матрицу В порядка n, каждый элемент bij которой равен максимуму из элементов исходной квадратной матрицы А порядка n, расположенных в закрашенной области, определяемой индексами i, j, на рисунке.
1. 2. 3. 4.
5. 6. 7. 8.
9. По матрице A построить матрицу B того же размера, где элемент bij определяется следующим образом. Через aij проведем в A линии, параллельные сторонам прямоугольника до пересечения с главной диагональю; bij определяется как минимум среди элементов треугольника в А.
10. По матрице A построить матрицу B того же размера, где элемент bij определяется следующим образом. Через aij проведем в A линии, параллельные сторонам прямоугольника до пересечения с побочной диагональю; bij определяется как максимум среди элементов треугольника в А.
11. По матрице А построить матрицу В того же размера, где bij определяется следующим образом. Через aij проведем в A диагонали, параллельные главной и побочной диагоналям; bij определяется как максимум в закрашенной части матрицы А.
12. По матрице А построить матрицу В того же размера, где bij определяется следующим образом. Через aij проведем в A диагонали, параллельные главной и побочной диагоналям; bij определяется как максимум в закрашенной части матрицы А.
9. 10. 11. 12.