Перейти к содержанию

422 гр., спец. СМ. С++

“Программирование для решения вероятностных задач”
Место и время проведения: четверг, третья пара, ауд. 2444
Преподаватель: Звонарев Никита Константинович

Критерий получения зачёта

  1. “Большая” программа (оптимизация функций), и в графическом, и в консольном исполнении
  2. Плюсики за все домашки
  3. Плюсики за посещения пар (сданный тест/вопрос за пропуск)

Программа для поиска экстремума функции

Слайды с 1 пары

Слайды со 2 пары

Слайды с 3 пары

Задание на семестр <- здесь дано старое задание в полном виде. Нас интересует п. 2.

Красивые примеры программ прошлых лет. Еще один

Комментарии к стилю программирования

Минимальные требования к программе с MFC

Примеры на combo-box и графику VS2010 Примеры на combo-box и графику VS2013

Список литературы с описанием методов поиска экстремумов

Добавляется очень хорошая книга Nocedal, Jorge, Wright, S. Numerical Optimization.

C++ advanced

Примерные темы

  • Шаблоны
  • Исключения
  • STL
  • Немного Qt
  • Современный (насколько?) стандарт: ranges, типобезопасные юнионы (std::variant) и std::optional мб?
  • ???

Литература

Основная книга номер 3, ее можно найти онлайн.

  1. Бьерн Страуструп. Язык программирования C++.
  2. Эккель Б. Философия C++. Введение в стандартный C++.
  3. Эккель Б. Философия 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. Запорожченко Мария + + + + + +. + + + +. +. +

Результаты сдачи заданий и домашек

Варианты задания:

  1. Градиентный спуск (производные аналитически)
  2. Сопряженные градиенты Fletcher-Reeves или Polak-Ribiere
  3. Ньютон (поиск по направлению или backtracking, производные численно)
  4. Nelder-Mead (метод деформируемого многогранника)
Вариант Консольная опт. 1 (6 ноя.) Консольная опт. 2 (4 дек.) Графическая опт. Домашка (I/O) Домашка (словарь) Зачёт
2. Храмов Александр 4 + + + + + +
3. Фалин Алексей 3 + + + + + +
4. Григорян Юрий 1 + + + + + +
5. Запорожченко Мария 2 + + + + + +