- •Спецификация
- •Постановка цели, задач и описание предметной области
- •Формализованное словесное описание алгоритма решения задачи
- •Варианты взаимодействия программы и оператора (Use Case)
- •Разработка дружественного интерфейса
- •Блок-схема движения данных (Data flow diagram)
- •Выбор и обоснование типов переменных, разработка структур данных
- •Вводимые и выводимые параметры и их типы
- •Диаграмма классов
- •Структура проекта, перечисление нужных файлов
- •Инструкция по использованию
- •Текст программы и файлов заголовков с комментариями.
- •Копии экрана при работе программы
- •Контрольный пример, сравнение результата с эталоном (MathCad)
- •Ведомость соответствия программы спецификации
МИНОБРНАУКИ РОССИИ
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ
ЭЛЕКТРОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
«ЛЭТИ» ИМ. В.И. УЛЬЯНОВА (ЛЕНИНА)
Кафедра РЭС
Курсовая работа
по дисциплине «Информационные технологии»
Тема: «График параметрической функции (эпициклоиды)»
Выполнила: студентка гр.1181 Кузембаева А. С.
Преподаватель: Ситников И. Ю.
Санкт-Петербург
2022
Содержание
Спецификация 2
Постановка цели, задач и описание предметной области 3
Формализованное словесное описание алгоритма решения задачи 5
Варианты взаимодействия программы и оператора (Use Case) 7
Разработка дружественного интерфейса 7
Блок-схема движения данных (Data flow diagram) 9
Выбор и обоснование типов переменных, разработка структур данных 9
Вводимые и выводимые параметры и их типы 12
Диаграмма классов 12
Структура проекта, перечисление нужных файлов 13
Инструкция по использованию 14
Текст программы и файлов заголовков с комментариями. 17
Копии экрана при работе программы 31
Контрольный пример, сравнение результата с эталоном (MathCad) 33
Ведомость соответствия программы спецификации 34
Выводы 35
Спецификация
Требования к расчету и программе:
Выполнять расчеты и графическую визуализацию результатов в соответствии с введенными пользователем параметрами с поддержкой универсальной кодировки символов Unicode;
Наличие графического пользовательского интерфейса;
Содержать минимум один динамический массив;
Предоставить возможность изменения в интерактивном режиме следующих параметров: линейный размер графика, смещение графика по координатным осям X и Y;
Выполнять рисование графика без стирания;
Выполнять стирание графика;
Обеспечить режим визуализации процесса рисования графика с разной скоростью, используя обработчик сообщения WM_TIMER;
Обеспечить запись в файл формата .bmp требуемый график;
Приложение должно работать в ОС Windows 10/11;
Требования к отчету
Отчет должен соответствовать ГОСТу 19.701-90 единой системы программной документации;
В отчет включены описание программного интерфейса, диаграмма классов и диаграмма потоков данных, выбраны и обоснованы переменные, собственные типы и классы, код содержит комментарии, пример работы программы и контрольный пример;
Контрольный пример должен быть представлен в виде графика в программе Mathcad, подтверждающих правильность результата.
Требования к пользовательскому интерфейсу
-
Программа должна содержать сведения о программе, авторе, авторских правах;
Программа должна иметь название и иконку;
Использовать кнопки управления приложением;
Использовать поля ввода данных для расчетов;
Приложение должно соответствовать понятию «дружественный интерфейс»;
Необходимо использовать русский язык;
Срок сдачи отчета:
Срок сдачи курсовой работы:
Преподаватель: ____________________________ Ситников И. Ю. Студентка: ____________________________ Кузембаева А. С.
Постановка цели, задач и описание предметной области
Цель:
Создать оконное приложения в среде MS Visual Studio 2015 для операционной системы Windows 10/11 (Win32) на языке программирования С++ с использованием библиотек Microsoft Fundation Classes (MFC).
(Для перехода в версию Visual Studio 2019 года, необходимо во всех конфигурациях изменить версию пакета SDK для Windows на соответствующую, а также поменять набор инструментов платформы с v140 на v142.)
Задачи:
Освоить принципы работы оконных приложений.
Познакомиться с этапами проектирования оконных приложений.
Освоить принципы построения графических приложений.
Освоить принципы «дружественного» пользовательского интерфейса.
В программе необходимо создать приложение, которое будет рисовать график параметрической функции(эпициклоиды) и предоставить возможность в интерактивном режиме изменять линейный масштаб графика, смещение графика по осям ОХ и ОУ, стирание графика и последовательное рисование графиков для разных параметров без стирания, обеспечить режим визуализации процесса рисования графика с разной скоростью, используя обработчик сообщения WM_TIMER, сохранение в файл в формате BMP требуемый график.
Программа должна иметь графический пользовательский интерфейс, который соответствует понятию «дружественный интерфейс», а также содержащий сведения о программе, авторе, авторских правах, название и иконку. Пользовательский интерфейс должен использовать кнопки управления приложением и поля ввода данных для расчетов.
Эпицикло́ида (от др.-греч. ὲπί — на, над, при и κύκλος — круг, окружность) — плоская кривая, образуемая фиксированной точкой окружности, катящейся по внешней стороне другой окружности без скольжения.
Если центр неподвижной окружности находится в начале координат, её радиус равен R, радиус катящейся по ней окружности равен r, то эпициклоида описывается параметрическими уравнениями относительно f (угол поворота обегающей окружности):
X=r(k+1)*( cos(f) – cos((k+1)*f)/(k+1)),
Y= r(k+1)*( sin(f) – sin((k+1)*f)/(k+1))
Величина k (R/r) определяет форму эпициклоиды. При k=1 эпициклоида образует кардиоиду, а при k=2 — нефроиду. Если k — несократимая дробь вида m/n (m,n – целые), то m — это количество каспов данной эпициклоиды, а n — количество полных вращений катящейся окружности. Если k -иррациональное число, то кривая является незамкнутой и имеет бесконечное множество несовпадающих каспов.
Рисунок 1. Эпициклоида Рисунок 2. Построение эпициклоиды