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

«Численные методы в приложении к задачам акустооптики и акустоэлектроники на языке программирования С++»

Осенний семестр, 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 с.

Программу составил ассистент,

канд. физ.-мат. наук