№1: Переменные, ввод-вывод, операции
Переменные, типы, ввод-вывод, арифметические операции, задача о получении разрядов в позиционной системе счисления
Все ссылки и материалы курса для продвинутых групп
Переменные, типы, ввод-вывод, арифметические операции, задача о получении разрядов в позиционной системе счисления
Хранение целых чисел, переполнение. Логические операции, операции сравнения, условия, switch-case. Отладка программ. Хранение float. Циклы
Циклы (for, while, do-while), break, continue, вложенность циклов. Асимптотическая сложность. Оценка сложностей алгоритмов. Быстрое возведение в степень. Проверка на делимость и простоту, нахождение всех простых в диапазоне, факторизация.
Эратосфен с эффективной реализацией, bitset Поиск в диапазоне числа некоторого вида. Обратно: построение числа по виду. Количество делителей по разложению на простые числа. Доказательство вида чисел с 3/5 различными делителями
Динамические массивы. Методы std::vector, копирование, различие size и capacity, сложности операций. Двумерные массивы
Ссылки и указатели, константность, UB (dangling reference). Работа с файлами: ввод-вывод, текстовые и двоичные файлы
Контрольная работа за первый модуль.
Резервный срок для написания контрольной работы за первый модуль.
Стек. Использование стека. Виды памяти. Использование стека. Переменные на стеке. Реализация стека с помощью динамической памяти. Функции: аргументы, возвращаемые значения, перегрузки
Константные переменные, ссылки. Структуры
Шаблоны, итераторы, std::unordered_set, std::set
Пары, кортежи, ассоциативные контейнеры (std::unordered_map, std::map)
Контрольная работа за второй модуль.
Сортировки, компараторы.