А.С. Цветков. Лекции на ФСПМИ СПбГУ
Расписание Архитектура Администрирование HTML Win API C++ C# и .NET Дипломные работы Об авторе

Основы программирования

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

Лекция I – Основы программирования
  1. Данные и алгоритмы
  2. Информация
  3. Компьютерные модели данных
  4. Понятие алгоритма и способы его описания
  5. Виды языков программирования
  6. Идентификаторы и переменные
  7. Базовые типы данных
  8. Запись констант
  9. Операции присваивания
  10. Арифметические выражения
  11. Функции printf(), sprintf(), scanf(). Форматы ввода/вывода.
     
Лекция II – Алгоритмические структуры
  1. Операции отношения
  2. Логические и битовые операции
  3. Операторы if, if-else, switch
  4. Операторы for, while, do-while
  5. Вложенные циклы
  6. Операторы break, continue, goto
     
Лекция III – Массивы
  1. Массивы и указатели
  2. Задачи, приводящие к использованию массивов
  3. Строки символов
  4. Функции для работы со строками
  5. Динамическое выделение памяти в C
  6. Операции с указателями, связь указателей и массивов
  7. Массивы указателей
     
Лекция IV – Подпрограммы
  1. Функции в языке C
  2. Оператор return
  3. Передача параметров
  4. Прототипы функций
  5. Область видимости имен
  6. Классы памяти переменных
  7. Рекурсивные функции.
  8. Функции с переменным числом параметров
     
Лекция V – Струкутры и работа с файлами
  1. Структуры
  2. Типы, определяемые пользователем
  3. Объединения, доступ к отдельным битам
  4. Переименование типов
  5. Ввод/вывод в файлы
  6. Стандартные библиотеки языка C.
     
Лекция VI – Язык С++
  1. Понятие класса и объекта
  2. Наследование
  3. Директивы puplic, protected и private
  4. Конструкторы и деструторы
  5. Динамическое создание объектов
  6. Виртуальные функции
     
Лекция VII – Объектно-ориентированное программирование
  1. Дружественные классы и функции
  2. Подставляемые функции
  3. Множественное наследование
  4. Перегрузка функций
  5. Перегрузка операций
  6. Перегрузка операции [ ]
  7. Другие особенности С++: передача аргументов по ссылке и прочие, не связанные с объектноориентированностю.
     


Материалы лекций

Презентации
  1. Основы программирования
  2. Алгоритмические структуры
  3. Массивы и указатели
  4. Подпрограммы
  5. Структуры данных и работа с файловой системой
  6. Введение в С++
  7. Наследование и виртуальные правила
  8. Препроцессор языка C/C++
  9. Стандартные классы C++

Материалы практик

Тексты программ 2017-18 года
  1. Первая програма, совершенные числа, римские цифры, графическая программа.
Тексты программ 2016-17 года
  1. Первая програма, развилка, циклы, совершенные числа.
  2. Метод половинного деления, рекурсивные функции, работа с массивами
  3. Шифрование, множество Жюлия, градиент, обратная польская запись, римские цифры, фрактал
Тексты программ 2015-16 года
  1. Материалы практики №1
  2. Материалы практики №2
  3. Материалы практики №3
  4. Материалы практики №4
  5. Материалы практики №4
Тексты программ 2014-15 года
  1. Материалы к лекции №2
  2. Материалы практики №2
  3. Материалы практики №3 (Графика, Шарики)
  4. «Жизнь» Конвея (практика №4)
Тексты программ 2013-14 года
  1. Материалы практики №1
  2. Материалы практики №2 (Группа 1), Материалы практики №2 (Группа 2)
  3. Материалы практики №3 (Группа 1), Материалы практики №3 (Группа 2)
  4. Материалы практики №4 (Группа 1), Материалы практики №4 (Группа 2)
  5. Материалы практики №5 (Группа 1), Материалы практики №5 (Группа 2) - динамические массивы, фракталы
  6. Материалы практики №6 (Группа 1), Материалы практики №6 (Группа 2) - тестирование производительности, полярные координаты
Тексты программ 2011-12 года
  1. Линейное уравнение, простые и совершенные числа, дихотомия, римские цифры, шейкер-сортировка, динамическое дерево
  2. Графические программы с использованием MFC
  3. Наследование с виртуальными правилами

Учебные пособия

  1. Лекции по С++. Часть 1
  2. Лекции по С++. Часть 2

Рекомендуемая литература

  1. Б.В. Керниган, Д.М. Ричи. Язык C. Download 173K
  2. Б.Страуструп. Введение в язык С++. 1995 Download 239K
  3. Б.Страуструп. Справочное руководтсво по языку С++. 1995 Download 69K
  4. C.Б. Липпман. C++ для начинающих Download 1.1M
  5. М.Вахтеров, С.Орлов, Четвертый BORLAND С++ и его окружение. 1994 Download 639K

Программное обеспечение

  1. Dev-C++ - свободно распространяемая среда разработки на С/С++ под Windows (9M)
  2. Dev-C++ - свободно распространяемая среда разработки на С/С++ под Windows 64-bit (63M)
  3. Dev-Pascal - свободно распространяемая среда разработки на Pascal под Windows (8M)
  4. Borland C++ 3.1 - cреда разработки под DOS (19M)
  5. ABC Pascal - свободно распространяемая среда разработки на Pascal под Windows (6M)