Лекции 2011/2012 года

Лекции весеннего семестра

# Дата Название Примеры Тематика
1 2012-02-07 Вводная ---------- Программа курса, литература
2 2012-02-14 Шаблоны и контейнеры См. Шаблоны, шаблон функции, виды контейнеров, однонаправленный линейный список, контейнеры STL, итераторы, строки
3 2012-02-21 Алгоритмы поиска См. Алгоритмы поиска, бинарный поиск, хэш-поиск
4 2012-02-28 Алгоритмы сортировки См. Простые и сложные, сортировка вставками, двоичной кучей, Хоара, другие алгоритмы, введение в наследование
5 2012-03-06 Наследование См. Отношения между классами, объектные модели, UML, виды наследования, динамическое преобразование типов
6 2012-03-13 Тестирование См. Регрессионное тестирование, виды тестирования, автоматические тесты, пример
7 2012-03-20 Введение в GUI См. Приложение и ОС, GUI и консоль, механизм событий, обзор библиотек, примеры
8 2012-03-27 Основы Qt См. Обработка сообщений, перерисовка, иерархия компонентов, вспомогательные классы
9 2012-04-03 Использование Qt См. Действия, меню, панель инструментов, сообщения мыши, таймер, контекстное меню
10 2012-04-10 Компоненты Qt и XML См. Сообщения клавиатуры, сохранение, XML, пользовательские диалоги, layouts
11 2012-04-17 Задача коммивояжёра См. Графы, способы представления, задача коммивояжёра, алгоритм рекурсивного перебора, реализация
12 2012-04-24 Введение в MVC См. Модель-представление-контроллер, реализация на примере задачи коммивояжёра
13 2012-05-12 Большой проект часть I См. Игра в Калах, правила, разделение модели и представления, реализация модели, тестирование с помощью QtTestLib
14 2012-05-15 Большой проект часть II См. Алгоритмы поиска оптимального хода
15 2012-05-22 Большой проект часть III См. Реализация графического интерфейса, элементы автоматного программирования

Все лекции и примеры весеннего семестра в одном архиве.

Домашние задания весеннего семестра

# Дата Название Срок
1 2012-02-14 Проектирование шаблона 2012-03-06
2 2012-03-06 Проектирование иерархии 2012-03-27

Лекции осеннего семестра

# Дата Название Примеры Тематика
1 2011-09-06 Вводная См. Алгоритмы, история C/C++, структура программы, типы, имена, простые программы
2 2011-09-13 Конструкции и операции См. Элементы языка, операции, мат. функции, форматирование вывода, if, switch, while
3 2011-09-20 Конструкции и операции См. Ошибки ввода, символы, do-while, for, break, continue, goto
4 2011-09-27 Методы хранения данных См. Системы счисления, числа в ЭВМ, организация памяти, сегменты, файлы
5 2011-10-04 Массивы, строки, указатели См. Массивы, строки, строковые функции, связь массивов и указателей, динамическая память
6 2011-10-11 Средства ввода-вывода языка C См. printf, scanf, модификаторы формата, файловый ввод-вывод, строковый ввод-вывод
7 2011-10-18 Функции в языках C и C++ См. Функция, определение, прототип, виды параметров, функциональная декомпозиция, порядок проектирования
8 2011-10-25 Модульное программирование См. Модуль, группировка функций, модуль в C/C++, сборка проекта, пример
9 2011-10-29 Структурные типы См. Структуры, поля, ссылки и указатели, перегрузка операторов, пример
10 2011-11-08 Инкапсуляция См. Инкапсуляция, порядок объектно-ориентированного проектирования, пример
11 2011-11-15 Числовые объекты, перегрузка См. Создание класса числового объекта, определение собственной арифметики
12 2011-11-22 Объекты-контейнеры, исключения См. Создание класса объекта-контейнера изменяемого размера, обработка исключений
13 2011-11-22 Область действия и время жизни См. Область действия и время жизни: внешние, статические, локальные, внутренние статические переменные, примеры
14 2011-11-29 Лексический анализ ---------- Распознавание текста, основные понятия, лексемы, лексический анализ, язык регулярных выражений
15 2011-11-29 Синтаксический анализ См. синтаксический анализ, формальные грамматики, алгоритмы разбора, рекурсивный парсер, обратная польская запись
16 2011-12-06 Численное интегрирование ---------- Методы численного интегрирования, реализация, указатели на функцию
17 2011-12-06 Стандарты C и C++ ---------- Особенности K&R C, ANSI C, C99, C++98

Все лекции и примеры осеннего семестра в одном архиве.

Некоторые примеры понятий для домашнего задания по классам есть здесь. Поощряется использование понятий, придуманных самостоятельно.

Объявление

13 декабря состоится семестровая контрольная работа. Начало в 10-00. От контрольной работы освобождены следующие студенты (CENSORED -- устаревшая информация):

Для остальных участие в контрольной работе ОБЯЗАТЕЛЬНО. Здесь можно посмотреть решенный пример задания на контрольную работу.

Пример задания для самостоятельного решения.

Во входном файле in.txt заданы имена и даты рождения сотрудников организации (в формате ДД ММ), например:

Михаил 04 12
Ольга 26 06
Николай 29 10
Иван 14 05

Вывести имена и даты рождения сотрудников в выходной файл out.txt, упорядочив их по дате, например:

Иван 14 05
Ольга 26 06
Николай 29 10
Михаил 04 12