Казахстан |
План проведения практических занятий по курсу "Программирование под Windows в среде Visual C++ 2005"
Всего по данному курсу под практические занятия отводится 34 часа (из них 2 часа зачет). Занятия проводятся по разделам:
- Программирования под Windows с использование Win API. (4 часа).
- Разработка Windows-приложения в среде Visual C++ 2005 c использованием библиотеки MFC (10 часов).
- Разработка Windows-приложений с использованием среды MS Visual Studio 2005 (14 часов).
- Разработка полноценных Windows-приложений с использованием среды MS Visual Studio 2005 (4 часа).
- Занятие 1: Создание простейшего Windows-приложения с использованием Win API.
- Занятие 2: Пример разложения в ряд функции. Графический вывод.
- Занятие 3: Создание и вывод Windows-окна на экран с использованием MFC.
- Занятие 4: Вставка элементов управления в окно (Controls).
- Занятие 5: События элемента управления. Создание строки состояния.
- Занятие 6: Создание меню.
- Занятие 7: Таймер. Вывод данных в строку состояния.
- Занятие 8: Создание приложения по шаблону с помощью мастера MFC Application Wizard. Вывод текста в окно программы.
- Занятие 9: Работа с курсором и мышью.
- Занятие 10: Панель инструментов, меню, акселераторы.
- Занятие 11: Работа с диалоговыми окнами.
- Занятие 12: Флажки, переключатели, списки.
- Занятие 13: Сериализация. Работа с файлами.
- Занятие 14: Работа с графикой. Фракталы.
- Занятие 15, 16: Пример создания полноценного приложения (один из трех, приведенных в пособии).
Темы самостоятельных работ:
Задание 1: Построение кардиоиды.
Функция задана параметрически:
График данной функции называется кардиоидой. Требуется разработать приложение, которое:
- выводит график данной функции на экран;
- позволяет изменять параметр с последующей перерисовкой;
- анимирует движение катящейся окружности.
Задание 2: Переливающиеся изображения.
На диске хранится файл с изображением точек в одном из графических форматов: jpeg, bmp. Требуется разработать приложение, которое:
- позволяет открывать файл с изображением и выводить его на экран;
- реализует анимационный эффект переливания: выбирает заданное колличество точек
- изображения и ослабляет/увеличивает интенсивность цвета;
- позволяет изменять колличество выбираемых точек.
Задание 3: Математический маятник.
Математический маятник задаётся уравнением в полярных координатах:
при условии, что в нулевой момент времени маятник не смещён относительно положения равновесия. Требуется разработать приложение, которое:
- отображает на экране математический маятник (схематично);
- анимирует движение маятника;
- позволяет менять параметры (амплитуду) и (частоту).
Задание 4: Выстрел снаряда.
Пусть задано уравнение движения точки (снаряда выстреленного из пушки под углом к горизонту) в декартовых прямоугольных координатах:
g - ускорение свободного падения (принять за 9.8). Требуется разработать приложение, которое:
- Выводит на экран траекторию движения точки до момента времени, когда координата примет 0-ое значение;
- позволяет изменять параметры движения (начальная скорость) (угол между начальным вектором скорости и осью );
- реализует анимационный эффект полёта снаряда.
Задание 5: Метод Монте-Карло (разыгрывание дискретной случайной величины).
Задана плоская, непрерывная, замкнутая кривая (квадрат, треугольник, эллипс и т.п.). Фигура разделена на две части прямой. Требуется разработать приложение, которое:
- выводит на экран фигуру и прямую;
- разбрасывает внутри фигуры случайных точек и отображает их на экране;
- вычисляет примерное отношение площадей первой части фигуры ко второй.
Задание 6: Обработка изображения.
На диске хранится файл с изображением в одном из графических форматов: jpeg, bmp. Требуется разработать приложение, которое:
- позволяет открывать файл с изображением и выводить его на экран;
- позволяет преобразовывать изображение в чёрно-белое (256 оттенков серого);
- позволяет добавлять равномерный шум;
- Позвоялет сохранять результат.
Задание 7: Кодирование Хаффмена.
На диске хранится файл с текстом в одном из форматов: rtf, txt. Требуется разработать приложение, которое:
- позволяет открывать файл и выводить на экран форматированный (если в формате rtf) текст;
- позволяет редактировать текст;
- позволяет осуществлять операция кодирования, раскодирования по методу Хаффмена
- текстового файла и сохранять результат на диске.
Задание 8: Ввод, вывод и редактирование матриц.
Задано N матриц с размерностями nxm. Требуется разработать формат файла, в котором будет храниться информация о матрицах, написать программу, которая позволяет:
- позволяет читать (записывать) матрицы из файла (в файл)
- выводить матрицы на экран;
- редактировать, дабавлять, удалять матрицы.
Задание 9: Анализ текстов, генерирование псевдотекстов.
На диске хранится файл с текстом в одном из форматов: rtf, txt. Известно, что текст может быть на русском или на английском языках. Требуется разработать приложение, которое:
- позволяет открывать файл и выводить на экран форматированный (если в формате rtf) текст;
- автоматически определять язык, на котором написан текст;
- генерировать псевдотекст на русском языке, если задан набор приставок и суффиксов.
Задание 10: Дескриптивная статистика и элементы регрессионного анализа.
Собрать данные по росту и весу юношей (девушек) учебной группы. Рассматривая рост и вес как случайные величины найти:
- математические ожидания;
- дисперсии;
- асимметрии;
- эксцесс;
- коэффициент корреляции между этими случайными величинами;
- линейную регрессию (зависимость веса от роста);
- коэффициент детерминации R2.