422 гр., спец. СМ. С++
“Программирование для решения вероятностных задач”
Место и время проведения: четверг, третья пара, ауд. 2444
Преподаватель: Звонарев Никита Константинович
Критерий получения зачёта¶
- “Большая” программа (оптимизация функций), и в графическом, и в консольном исполнении
- Плюсики за все домашки
- Плюсики за посещения пар (сданный тест/вопрос за пропуск)
Программа для поиска экстремума функции¶
Задание на семестр <- здесь дано старое задание в полном виде. Нас интересует п. 2.
Красивые примеры программ прошлых лет. Еще один
Комментарии к стилю программирования
Минимальные требования к программе с MFC
Примеры на combo-box и графику VS2010 Примеры на combo-box и графику VS2013
Список литературы с описанием методов поиска экстремумов
Добавляется очень хорошая книга Nocedal, Jorge, Wright, S. Numerical Optimization.
C++ advanced¶
Примерные темы¶
- Шаблоны
- Исключения
- STL
- Немного Qt
- Современный (насколько?) стандарт: ranges, типобезопасные юнионы (std::variant) и std::optional мб?
- ???
Литература¶
Основная книга номер 3, ее можно найти онлайн.
- Бьерн Страуструп. Язык программирования
C++. - Эккель Б. Философия
C++. Введение в стандартныйC++. - Эккель Б. Философия
C++. Практическое программирование.
Занятия по C++ advanced¶
- 02/10/2025 [1]. Множественное наследование. Виртуальный базовый класс. «Виртуальный конструктор». [Слайды](../../assets/study/fall2020/multiple_inheritance.pdf)
- 09/10/2025 [1]. RTTI (''typeid'', ''dynamic_cast''), приведение типов в стиле C++. Исключения: начало. [Слайды](../../assets/study/fall2020/multiple_inheritance.pdf)
- 16/10/2025 [1]. Исключения: семантика, исключения в конструкторе, stack unwinding, ''set_terminate'', ''noexcept'', стандартные исключения. Тест на исключения. [Слайды](../../assets/study/fall2020/exceptions.pdf)
- 23/10/2025 [1]. Умные указатели: самодельные и стандартные. Принцип RAII. [Слайды](../../assets/study/fall2020/exceptions.pdf)
- 30/10/2025 [1]. Введение в шаблоны, конкретизация шаблонов, специализация шаблонов. Тест на шаблоны.
- 06/11/2025 [1]. Паттерны с traits и policy, policy через SFINAE, type_traits. Метапрограммирование в C++ (шаблоны/constexpr).
- 13/11/2025 [1]. Решение задач метапрограммирования.
- 20/11/2025 [1]. STL: общая структура, обзор контейнеров с трудоемкостью операций.
- 27/11/2025 [1]. Иерархия концепций итераторов, итераторы прямой и обратный, итераторы вставки. Итераторы для потоков ввода-вывода. Разбор примеров с итераторами. Алгоритм copy и умение его написать. Для самостоятельного изучения: I/O в C++, манипуляторы, режимы открытия, stringstream. [Обещанные материалы к лекции](../../assets/study/fall2018/io_4_students.zip).
- 04/12/2025 [0.75]. Анонс домашки про чтение csv файла. Основные алгоритмы из STL. Обзор алгоритмов из STL.
- 11/12/2025 [1]. Немного про Qt. [Обновленная PDF про Qt](../../assets/study/fall2022/qt.pdf). Примеры на set/map, анонс домашки про словарь.
- 18/12/2025 [1]. Встроенные функторы, std::bind. Лямбды, лямбды как замыкания. Misc: complex, numeric_limits.
- 23/12/2025 [?], **вторник**. **Зачёт**, причём задач (//скорее всего удалённый//).
Результаты посещения занятий¶
| 02.10 | 09.10 | 16.10 | 23.10 | 30.10 | 06.11 | 13.11 | 20.11 | 27.11 | 04.12 | 11.12 | 18.12 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1. Храмов Александр | + | + | + | + | + | + | + | + | + | + | + | + |
| 2. Фалин Алексей | +. | + | + | + | + | + | + | + | + | + | + | + |
| 3. Григорян Юрий | + | + | + | + | +. | + | + | + | + | + | + | + |
| 4. Запорожченко Мария | + | + | + | + | + | +. | + | + | + | +. | +. | + |
Результаты сдачи заданий и домашек¶
Варианты задания:
- Градиентный спуск (производные аналитически)
- Сопряженные градиенты Fletcher-Reeves или Polak-Ribiere
- Ньютон (поиск по направлению или backtracking, производные численно)
- Nelder-Mead (метод деформируемого многогранника)
| Вариант | Консольная опт. 1 (6 ноя.) | Консольная опт. 2 (4 дек.) | Графическая опт. | Домашка (I/O) | Домашка (словарь) | Зачёт | |
|---|---|---|---|---|---|---|---|
| 2. Храмов Александр | 4 | + | + | + | + | + | + |
| 3. Фалин Алексей | 3 | + | + | + | + | + | + |
| 4. Григорян Юрий | 1 | + | + | + | + | + | + |
| 5. Запорожченко Мария | 2 | + | + | + | + | + | + |