Направление «Прикладная математика и информатика»

Кафедра программного обеспечения систем радиоэлектронной аппаратуры
при АО «Концерн «Вега»

Московский технологический
университет


Институт кибернетики

 

Алгоритмические языки

Содержание дисциплины

  1. Краткая инструкция по работе в ОС UNIX и использованию InterNet;
  2. Сложные типы данных:
    • структуры;
    • объединения;
    • массивы;
    • понятие указателей;
    • многомерные массивы и их организация в памяти;
    • структуры со ссылками на себя и представление ими: связанного списка, бинарного дерева;
  3. Функции (тонкости и детали):
    • реализация передачи параметров функциям;
    • функции с переменным числом параметров;
    • функция main(): особенности, получаемые параметры и возвращаемое значение;
    • указатели на функции;
    • сложные декларации;
  4. Препроцессор:
    • #define: 3 назначения (сложность - макроопределения);
    • #include ("" и <>);
    • #if #endif;
    • #if #else #endif;
    • #ifdef;
    • #if #elseif [...] [#else] #endif;
    • #undef;
    • #error;
    • #pragma;
    • #line;
    • ##, склеивание строк;
    • рекомендации по использованию инструкций препроцессора при написании собственных библиотек (стандарт);
  5. Библиотеки:
    • stdio.h: ввод-вывод;
    • stdlib.h (alloc.h): работа с памятью + qsort();
    • string.h: работа со строками;
  6. Другие библиотеки:
    • math.h: математические функции;
    • time.h: работа с функциями обработки времени;
  7. Комментарии:
    • обязательные: шапка в начале программы, функции, пояснения к переменным;
    • необходимость комментариев, их количество и содержание;
  8. Понятие сложности алгоритма (программы):
    • временная;
    • емкостная;
    • кибернетическая сложности;
    • понятие полиномиальной и экспоненциальной сложности;
  9. Элементы ТФГ и ТПТ;
  10. Сложные системы;
  11. Объектный подход, классы, иерархия;
  12. Язык С++. Знакомство;
  13. Определение классов, создание и использование объектов;
  14. Простое наследование и полиморфизм;
  15. Множественное наследование;
  16. Перегрузка операторов;
  17. Шаблоны;
  18. Обработка исключений;
  19. Информация о типе во время выполнения.

Литература

Основная литература

  1. Майкл Дж. Янг. Miсrosoft Visual С++ 4. для профессионалов.- Киев: Бином, 1997;
  2. Ален Голуб. Си&Си++. Правила программирования.- Киев: Бином, 1996;
  3. Том Сван. Программирование для Windows. Borland Си++.-М.: 1995;
  4. Бьерн Страуструп. «Язык программирования С++»;
  5. Гради Буч. “Объектно ориентированный подход”;
  6. А. Ла Мот, Д.Ратклиф, М.Семинаторе. Секреты программирования игр.- М.:1995;
  7. Стефан Дьюхаст, Кэти Старк. Программирование на Си++.- М.: 1993.

Дополнительная литература

  1. Ален Голуб Си&Си++. Правила программирования.- Киев: Бином, 1996.

Пособия и методические указания

  1. Леен Аммераль. «STL для программистов на С++» Москва 1999;
  2. Alexander Stepanov, Meng Lee. “The Standart Template Library” Hewlett-Packard Company 1994.
МОСКВА 2017