3. СОДЕРЖАНИЕ ДИСЦИПЛИНЫ (дидактические единицы) ДЕ 1 «Введение в C++» Тема 1. Основные типы данных, операции и выражения.
Аудиторное изучение: Имена переменных. Типы данных (целые, вещественные, символьные). Описание переменных, комментарии, арифметические операции, инструкции инкремента и декремента, перечисление.
Самостоятельное изучение: Выполнить операцию и присвоить, операция запятая (последовательность). Тема 2. Структура программы, модульность, функции.
Аудиторное изучение: Части программы, понятие подпрограммы, процедуры и функции. Главная функция и её параметры. Инструкция вызова функции. Инструкция выхода из функции. Модульность.
Самостоятельное изучение: Цикл разработки программ, ошибки, обнаруживаемые во время компиляции. Тема 3. Консольный ввод и вывод.
Самостоятельное изучение: Понятие консольных приложений, понятие потока ввода-вывода. 3 предопределённых потока. Библиотека потокового ввода-вывода iostream. Команда препроцессора include. Поток вывода cout и операция <<. Поток ввода cin и операция >>. Изменение кодировки потоков ввода и вывода. Форматированный вывод. ДЕ 2 «Ветвления и циклы» Тема 4. Принятие решений в программах. Условный оператор и оператор выбора.
Аудиторное изучение: Использование целого типа данных в качестве логического. Правила вычисления истинности или ложности любых выражений языка C++. Логические операции. Условный оператор if (если). Оператор выбора (switch). Понятие составного оператора.
Самостоятельное изучение: Использование условного оператора для обработки ошибок. Восстановление после ошибки. Обработка исключений. Тема 5. Повторение выполнения. Операторы циклов.
Аудиторное изучение: Понятие цикла в языках программирования. Цикл for, цикл while, повторение 0 или более раз. Цикл do…while, повторение хотя бы 1 раз. Вложенные циклы. Инструкция досрочного выхода из цикла.
Самостоятельное изучение: Размещение инструкций try и catch внутри цикла. ДЕ 3 «Структуры данных» Тема 6. Массивы
Аудиторное изучение: Понятие одномерного массива в языке C++. Обращение к элементам массива. Понятие многомерного массива как массива массивов. Функция sizeof. Использование цикла for для обработки данных массива.
Самостоятельное изучение: Запись и чтение после конца массива. Тема 7. Строки
Аудиторное изучение: Строка в С++ как массив символов. Максимальная и реальная длина строки, нулевой байт. Константные строки и инициализация при описании. Массив строк.
Самостоятельное изучение: Запись и чтение после конца строки. Тема 8. Указатели.
Аудиторное изучение: Преобразование типов данных. Понятие указателя. Типизированные и нетипизированные указатели. Операция * применительно к указателям, операция получения адреса. Динамическое распределение памяти. Указатели и функции, Адресная арифметика. Массивы и указатели, строки и указатели.
Самостоятельное изучение: Передача параметров функции по адресу. Тема 9. Функции для работы со строками.
Самостоятельное изучение: Модуль String. Функции копирования строк, функции объединения строк, поиск подстроки в строке, сравнение строк, преобразование из числа в строку и наоборот. ДЕ 4 «Введение в библиотеку классов MFC» Тема 10. Особенности программирования под ОС Windows.
Аудиторное изучение: Взаимодействие программ и Windows, функция окна, цикл сообщений. Преимущества использования MFC, Типы данных используемые в WinAPI и MFC. Архитектура приложения, каркас приложения. Понятие ресурсов Windows. Типы ресурсов, идентификаторы ресурсов.
Самостоятельное изучение: Многозадачность в Windows, понятие процесса и потока. Проект приложения, типы мастеров проектов, преимущества мастеров проектов. Тема 11. Введение в библиотеку MFC.
Аудиторное изучение: Базовый класс библиотеки MFC (класс CObject), класс приложение – CWinApp, основа структуры приложения (класс CCmdTarget), главное окно приложения, класс CFrameWnd.
Самостоятельное изучение: Контекст отображения (класс CDC, объекты графического интерфейса (класс CGdiObject), классы не имеющие базового класса. Тема 12. Реализация строк в MFC. Класс CString.
Самостоятельное изучение: Символьный тип данных TCHAR. Класс СString. Операции допустимые над объектом CString. Тема 13. Элементы управления Windows.
Аудиторное изучение: Приложения с главным окном. Классы CStatic, CEdit, CButton, CStatusBar, CMenu, CList, СListCtrl, обработка окном сообщений. Обработка сообщений элементами управления.
Самостоятельное изучение: объекты графического интерфейса (класс CGdiObject), классы, не имеющие базового класса. Тема 14. Диалоговые панели.
Аудиторное изучение: Модальная диалоговая панель. Диалоговая панель - главное окно приложения. Немодальная диалоговая панель. Обмен данными с диалоговым окном (технология DDX), Проверка корректности пользовательского ввода (технология DDV).
Самостоятельное изучение: Автоматическое обновление состояния элементов интерфейса с помощью класса CCmdUI. ДЕ 5 «Некоторые классы библиотеки MFC» Раздел 15. Работа с датой и временем.
Аудиторное изучение: Понятие абсолютного времени и часовых поясов. Класс СTime, CTimeSpan. Операции допустимые над датой и временем, конвертирование даты и времени в строку.
Самостоятельное изучение: функции GetSystemTime, SetSystemTime, GetLocalTime, SetLocalTime. Раздел 16. Работа с файлами.
Аудиторное изучение: Класс CFile, CStdioFile, CMemFile, CFileDialog. CPrintDialog, CFindReplaceDialog. Операции над файлами. Файлы размещённые в оперативной памяти.
Самостоятельное изучение: работа с файлами с помощью библиотеки стандартных функций потока ввода-вывода. Раздел 17. Реализация массивов, списков, словарей в MFC.
Самостоятельное изучение: Понятие массива в MFC, классы CStringArray, CWordArray, CUIntArray, CDWordArray, CByteArray. Понятие справочника в MFC, классы CMapStringToOb, CMapStringToString. Понятие списка в MFC, классы CStringList. Раздел 18. Обработка исключительных ситуаций в MFC.
Самостоятельное изучение: Понятие исключительной ситуации. Конструкции языка try … catch. Класс CException, CFileException, CResourceException, CUserException.
Содержание лабораторных занятий
Лабораторная работа №1. Программирование линейных алгоритмов.
Лабораторная работа №2. Программирование разветвляющихся алгоритмов.
Лабораторная работа №3. Программирование циклических алгоритмов.
Лабораторная работа №4 Программирование с использованием одномерных массивов.
Лабораторная работа №5 Указатели. Программирование с использованием динамических двумерных массивов.
Лабораторная работа №6 Программирование с использованием строк.
Лабораторная работа №7 Минимальный проект с использованием библиотеки классов MFC.
Лабораторная работа №8 Вставка элемента управления в окно (Панель состояния, кнопка, текстовое поле, поле ввода).
Лабораторная работа №9 События рамки окна, события элемента управления.
Лабораторная работа №10 Создание меню с помощью редактора ресурсов. Обработка пунктов меню. Использование нескольких меню в приложении
Лабораторная работа №11 Создание диалоговой панели. Модальная и немодальная диалоговая панель. Обмен данными с диалоговой панелью без использования технологии DDX.
Лабораторная работа №12. Автоматизация реакции на события с ClassWizard.
Лабораторная работа №13. Обмен данными с диалоговой панелью с помощью технологии DDX.
Лабораторная работа №14. Массивы в библиотеке классов MFC.
Лабораторная работа №15. Коллекции в библиотеке классов MFC.
Лабораторная работа №16. Класс CTime.
Лабораторная работа №17. Многозадачность.
Лабораторная работа №18. Сохранение и восстановление данных.
Лабораторная работа №19-29. Обработка исключений.
|