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