Опубликован: 10.03.2009 | Доступ: свободный | Студентов: 2297 / 279 | Оценка: 4.31 / 4.07 | Длительность: 09:23:00
Дополнительный материал 2:

План проведения практических занятий по курсу "Программирование под Windows в среде Visual C++ 2005"

< Дополнительный материал 1 || Дополнительный материал 2
Аннотация: План проведения практических занятий по курсу "Программирование под 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: Построение кардиоиды.

Функция задана параметрически:

\left\{
\begin{array}{c}
x=a\cdot(2\cos(t)-\cos(2t))\\
y=a\cdot(2\sin(t)-\sin(2t))
\end{array}

График данной функции называется кардиоидой. Требуется разработать приложение, которое:

  1. выводит график данной функции на экран;
  2. позволяет изменять параметр с последующей перерисовкой;
  3. анимирует движение катящейся окружности.

Задание 2: Переливающиеся изображения.

На диске хранится файл с изображением точек в одном из графических форматов: jpeg, bmp. Требуется разработать приложение, которое:

  1. позволяет открывать файл с изображением и выводить его на экран;
  2. реализует анимационный эффект переливания: выбирает заданное колличество точек
  3. изображения и ослабляет/увеличивает интенсивность цвета;
  4. позволяет изменять колличество выбираемых точек.

Задание 3: Математический маятник.

Математический маятник задаётся уравнением в полярных координатах:

\left\{
\begin{array}{c}
\rho=r=const\\
\varphi=A\cdot\sin(\omegat)
\end{array}

при условии, что в нулевой момент времени маятник не смещён относительно положения равновесия. Требуется разработать приложение, которое:

  1. отображает на экране математический маятник (схематично);
  2. анимирует движение маятника;
  3. позволяет менять параметры (амплитуду) и \varpi (частоту).

Задание 4: Выстрел снаряда.

Пусть задано уравнение движения точки (снаряда выстреленного из пушки под углом к горизонту) в декартовых прямоугольных координатах:

\left\{
\begin{array}{l}
x(t)=\nu \cdot\cos(\varphi)\cdot t\\
y(t)=\nu\cdot\sin(\varphi)\cdot t-\frac{gt^2}{2}
\end{array}

g - ускорение свободного падения (принять за 9.8). Требуется разработать приложение, которое:

  1. Выводит на экран траекторию движения точки до момента времени, когда координата примет 0-ое значение;
  2. позволяет изменять параметры движения (начальная скорость) (угол между начальным вектором скорости и осью );
  3. реализует анимационный эффект полёта снаряда.

Задание 5: Метод Монте-Карло (разыгрывание дискретной случайной величины).

Задана плоская, непрерывная, замкнутая кривая (квадрат, треугольник, эллипс и т.п.). Фигура разделена на две части прямой. Требуется разработать приложение, которое:

  1. выводит на экран фигуру и прямую;
  2. разбрасывает внутри фигуры случайных точек и отображает их на экране;
  3. вычисляет примерное отношение площадей первой части фигуры ко второй.

Задание 6: Обработка изображения.

На диске хранится файл с изображением в одном из графических форматов: jpeg, bmp. Требуется разработать приложение, которое:

  1. позволяет открывать файл с изображением и выводить его на экран;
  2. позволяет преобразовывать изображение в чёрно-белое (256 оттенков серого);
  3. позволяет добавлять равномерный шум;
  4. Позвоялет сохранять результат.

Задание 7: Кодирование Хаффмена.

На диске хранится файл с текстом в одном из форматов: rtf, txt. Требуется разработать приложение, которое:

  1. позволяет открывать файл и выводить на экран форматированный (если в формате rtf) текст;
  2. позволяет редактировать текст;
  3. позволяет осуществлять операция кодирования, раскодирования по методу Хаффмена
  4. текстового файла и сохранять результат на диске.

Задание 8: Ввод, вывод и редактирование матриц.

Задано N матриц с размерностями nxm. Требуется разработать формат файла, в котором будет храниться информация о матрицах, написать программу, которая позволяет:

  1. позволяет читать (записывать) матрицы из файла (в файл)
  2. выводить матрицы на экран;
  3. редактировать, дабавлять, удалять матрицы.

Задание 9: Анализ текстов, генерирование псевдотекстов.

На диске хранится файл с текстом в одном из форматов: rtf, txt. Известно, что текст может быть на русском или на английском языках. Требуется разработать приложение, которое:

  1. позволяет открывать файл и выводить на экран форматированный (если в формате rtf) текст;
  2. автоматически определять язык, на котором написан текст;
  3. генерировать псевдотекст на русском языке, если задан набор приставок и суффиксов.

Задание 10: Дескриптивная статистика и элементы регрессионного анализа.

Собрать данные по росту и весу юношей (девушек) учебной группы. Рассматривая рост и вес как случайные величины найти:

  1. математические ожидания;
  2. дисперсии;
  3. асимметрии;
  4. эксцесс;
  5. коэффициент корреляции между этими случайными величинами;
  6. линейную регрессию (зависимость веса от роста);
  7. коэффициент детерминации R2.
< Дополнительный материал 1 || Дополнительный материал 2