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

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

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

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

  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

  - 26/10/2024 [1]. Множественное наследование. Виртуальный базовый класс. «Виртуальный конструктор». [Слайды](../../assets/study/fall2020/multiple_inheritance.pdf)
  - 03/10/2024 [1]. RTTI (''typeid'', ''dynamic_cast''), приведение типов в стиле C++. Исключения: начало. [Слайды](../../assets/study/fall2020/multiple_inheritance.pdf)
  - 10/10/2024 [1]. Исключения: семантика, исключения в конструкторе, stack unwinding, ''set_terminate'', ''noexcept'', стандартные исключения. Умные указатели: самодельные и стандартные. [Слайды](../../assets/study/fall2020/exceptions.pdf)
  - 17/10/2024 [0.5]. Тест на исключения. Введение в шаблоны, конкретизация шаблонов, специализация шаблонов.
  - 24/10/2024 [1]. Тест на шаблоны. Паттерны с traits и policy, policy через SFINAE, type_traits.
  - 31/10/2024 [1]. Метапрограммирование, вычисления на этапе компиляции через шаблоны/constexpr (C++ 11 и C++ 14). Решение задач.
  - 07/11/2024 [0.75]. STL: общая структура, обзор контейнеров с трудоемкостью операций.
  - 14/11/2024 [1]. Иерархия концепций итераторов, итераторы прямой и обратный, итераторы вставки. Итераторы для потоков ввода-вывода. Разбор примеров с итераторами. Алгоритм copy и умение его написать.  Для самостоятельного изучения: I/O в C++, манипуляторы, режимы открытия, stringstream. [Обещанные материалы к лекции](../../assets/study/fall2018/io_4_students.zip). Анонс домашки про чтение csv файла.
  - 21/11/2024 [1]. Основные алгоритмы из STL. Встроенные функторы, std::bind.
  - 28/11/2024 [0]. //Пропуск (командировка)//
  - 05/12/2024 [1]. Обзор алгоритмов STL. Лямбды, лямбды как замыкания. Примеры на set/map (без анонса домашки про словарь).
  - 12/12/2024 [1]. Немного про Qt. Aнонс задания про словарь. [Обновленная PDF про Qt](../../assets/study/fall2022/qt.pdf). Misc: complex, numeric_limits, valarray…
  - 19/12/2024 [1]. Приём задач (удалённо).

Результаты посещения занятий

26.09 03.10 10.10 17.10 24.10 31.10 07.11 14.11 21.11 28.11 05.12 12.12
1. ~~Плоткин Глеб~~
2. Погребников Николай + +. + + + + + + + +
3. Поликанин Евгений + + + +. + + + + + +
4. Симоненко Вадим + + + + + + + + + +
5. Яковлев Денис + + + + + + + + + +

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

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

  1. Покоординатный спуск
  2. Градиентный спуск (производные аналитически)
  3. Сопряженные градиенты Fletcher-Reeves или Polak-Ribiere
  4. Ньютон (поиск по направлению, производные численно)
  5. Nelder-Mead (метод деформируемого многогранника)
Вариант Консольная опт. 1 (17 окт.) Консольная опт. 2 (21 ноя.) Графическая опт. Домашка (I/O) Домашка (словарь) Зачёт
1. ~~Плоткин Глеб~~ 1
2. Погребников Николай 4 + + + + + +
3. Поликанин Евгений 3 + + + +
4. Симоненко Вадим 2 + + + + + +
5. Яковлев Денис 5 + + + +