Программа курса «Программирование и информатика», I-2

Язык программирования Си++

  1. Концепция объектно-ориентированного программирования: инкапсуляция, наследование, полиморфизм.
  2. Классы. Конструкторы, деструктор. Статические методы и поля. Оператор «::».
  3. Перегрузка операторов и функций. Приведение типов, перегрузка оператора приведения типа, эксплицитные конструкторы (explicit).
  4. Потоки ввода-вывода Си++ (<iostream><fstream><sstream>) и их использование.
  5. Динамическая память. Операторы new и delete. Ссылки. Массивы объектов.
  6. Наследование, модификаторы доступа privateprotectedpublic. Дружественные классы и функции (friend). Полиморфизм, виртуальные функции, виртуальный деструктор. Чисто виртуальные функции, абстрактные классы. Множественное наследование, виртуальное наследование.
  7. Обработка исключений Си++. Ключевые слова trythrowcatch, и их использование.
  8. Использование пространств имен (namespaceusing).
  9. Строковые классы Си++ (string) и их использование.
  10. Обобщенное программирование. Шаблоны функций и классов.
  11. Абстракции стандартной библиотеки шаблонов Си++ (контейнеры, итераторы, алгоритмы, функционалы). Основные контейнеры (vectorsetlistdequemapvalarray). Работа с основными контейнерами и алгоритмами.

Фундаментальные алгоритмы программирования

  1. Динамические массивы.
  2. Деревья двоичного поиска. Понятие балансировки.
  3. Поиск с хэшированием, хэш-таблицы. Понятие о разрешении коллизий.

Численные методы

  1. Численное решение систем линейных уравнений.
  2. Численное решение дифференциальных уравнений (методы Эйлера, Верле и Рунге-Кутта).
  3. Псевдослучайные числа. Равномерное и нормальное распределения псевдослучайных чисел. Численное интегрирование методом Монте-Карло.

Литература

  1. В.В. Подбельский. «Стандартный Си++» – Москва, Финансы и статистика, 2008, 688 с.
  2. А.П. Иванов, О.C. Князева. «Язык программирования Си++, учебно-методическое пособие»
  3. Б. Страуструп. «Язык программирования Си++. Специальное издание» – Москва, Бином, 2011, 1136 c.
  4. Т. Кормен, Ч. Лейзерсон, Р. Ривест, К. Штайн. «Алгоритмы: построение и анализ» – Москва, Вильямс, 2011, 1296 c.
  5. Н.Н. Калиткин. «Численные методы» – Москва, Наука, 1978, 592 с.