Программа спецкурса для аспирантов
«Численные методы в приложении к задачам акустооптики и акустоэлектроники на языке программирования С++»
Осенний семестр, 72 часа.
1. Повторение.
Операторы цикла, ветвления. Функции. Арифметические операторы. Указатели. Итераторы. Класс как совокупность данных и операций работы с ними. Перегрузка операторов ввода-вывода. Шаблонированные функции. Шаблонированные классы – подстановка типа. Основные контейнеры и алгоритмы библиотеки STL.
2. Полиморфизм времени компиляции и времени выполнения
Классы. Наследование. Применение public и private наследований. Виртуальные функции. Чистые виртуальные функции. Абстрактные базовые классы. Понятие «интерфейс».
Шаблонирование класса и функции – подстановка действий. Функция map преобразования контейнера.
Примеры:
*) реализация метода Рунге-Кутты: 1) сериализация данных в массив; 2) использование наследования; 3) использование шаблонов
*) полиморфизм времени выполнения в библиотеке QT
3. Практика совместной разработки программного обеспечения
Программа «Построение поверхностей медленности». Реализация набора классов работы с векторной и тензорной алгеброй. Юнит-тестирование в рамках библиотеки QT. Совместная работа с помощью системы git.
4. Взаимодействие программы с операционной системой
Стандартные потоки ввода/вывода. Параметры командной строки и коды завершения. Сценарии bash: перенаправление потоков ввода/вывода, организация конвейеров, обработка кодов завершения.
Пример: создание мультипликации в связке «программа на C++» - «bash» - «povray». Различные сечения поверхности медленности с указанием поляризаций. Эффективности дифракции в зависимости от акустической мощности и расстройки.
5. Стандарт C++11
Математические операции. Лямбда-функция. Регулярные выражения. For-цикл по коллекции.
Учебно-методическое обеспечение дисциплины:
1. Сайт: https://sites. /a/physics. *****/142857/lection_course_cpp
2. http://
3. Бьерн Страуструп. Язык программирования С++. Специальное издание. — "Бином", 2012.—1136 с.
4. Брюс Эккель Философия С++. Том 1 «Введение в стандартный с++» — Питер, 2004. — 572 с.; Том 2 «Практическое программирование» — Питер, 2004. — 608 с.
5. , Р. Пайк UNIX — универсальная среда программирования.— М.: Финансы и статистика, 1992. — 304 с.
6. А. Шень "Программирование, теоремы и задачи.— МЦНМО, 2007.— 296 с.
Программу составил ассистент,
канд. физ.-мат. наук


