Автор работы: Пользователь скрыл имя, 27 Февраля 2011 в 18:18, курсовая работа
Разработатка программы для построения изображения фигуры, приведенной на рисунке. Исходные данные (x1,y1,R1,x2,y2,r2,x3,y3,r3) должны быть считаны из выбранного пользователем файла. Осуществлять проверку исходных данных на соответствие варианту (две окружности находятся внутри третьей).
1. Постановка задачи и исходные данные….………………….…………………..…3
2. Математическое обеспечение ……………………………………..…………….…4
3. Описание работы программы и полученные результаты при решении поставленной задачи ….………………………………………...………..……..……..5
4. Разработка алгоритма программы в виде блок-схемы……………………...…….8
5. Краткое описание возможностей среды программирования
Microsoft Visual C++………..………….………………………………...…………….9
6. Выводы………………………………….……………………….…………….……14
7. Список используемой литературы…….…………………………………………..15
8. Приложение А………………….…………………………………………….……..16
Уфимский
Государственный Авиационный
Кафедра Вычислительной Техники
и Защиты
Информации
Пояснительная записка
к курсовой работе
по дисциплине: «Методы программирования и прикладные алгоритмы»
по теме:
«Разработка
программы на языке
С++ для построения сложных
геометрических фигур
на плоскости»
Митряхин А.В.
Факультет: ИРТ
Группа: ЗИ-134
Принял доцент, к.т.н.:
Бабич М. В.
Уфа 2007 г.
Содержание
1. Постановка задачи и исходные данные….………………….…………………..…3
2. Математическое обеспечение ……………………………………..…………….…4
3. Описание работы
программы и полученные результаты при
решении поставленной задачи ….………………………………………...………..……..…
4. Разработка алгоритма программы в виде блок-схемы……………………...…….8
5. Краткое описание возможностей среды программирования
Microsoft Visual C++………..………….………………………………...……
6. Выводы………………………………….……………………….
7. Список используемой
литературы…….………………………………………….
8. Приложение А………………….…………………………………………….…….
Постановка
задачи
Задание:
Разработать программу для построения
изображения фигуры, приведенной на рисунке.
Исходные данные (x1,y1,R1,x2,y2,r2,x3,y3,r3) должны
быть считаны из выбранного пользователем
файла. Осуществлять проверку исходных
данных на соответствие варианту (две
окружности находятся внутри третьей).
Математическое
обеспечение
Разрабатывать программу для построения изображения фигуры будем по следующему алгоритму:
1) Исходные данные (x1,y1,R1,x2,y2,r2,x3,y3,r3) считываем из выбранного пользователем файла.
2) Осуществляем проверку исходных данных: две окружности находятся внутри третьей.
Если одновременно выполняются условия:
(R1 > 0), (R1 > 2*r2),
(R1 > 2*r3), ((x2 - r2) > x3),
sqrt((x3 - X1)*(x3 - X1) + (y3 - Y1)*(y3 - Y1)) + r3 < R1,
тогда исходные
данные верны. Затем выполняется
построение фигуры. В случае ошибки
программа выдает сообщение ”Can't
load params”, то есть искомые данные не соответствуют
варианту.
Описание
работы программы
и полученные результаты
при решении поставленной
задачи
Рис.
1. Главное окно программы.
Программа
предназначена для построения сложной
геометрической фигуры (рисунок 1).
В
диалоге программы имеются две кнопки
и поле MFC_DIALOG. В этом поле отображается
результат той или иной функции.
После
запуска программы пользователь
нажимает на кнопку ”Load”, которая вызывает
стандартное окно для открытия документа.
В новом диалоге выбирает файл для считывания
исходных данных (рисунок 2). И после того,
как пользователь выберет правильный
файл функция OnBtnLoad() нарисует в точности
то, что изображено на рисунке 5, а это то,
что и требовалось. Если файл содержит
величины не соответствующие условию
задачи, тогда функция OnBtnLoad() выведет
сообщение ”Can’t load params”, то есть исходные
данные не верны.
Рис.
2
Кнопка
”Update” предназначена для обновления
изображения фигуры, после исправления
данных (x1,y1,R1,x2,y2,r2,x3,y3,r3), которые считываются
из выбранного пользователем файла (рисунок 3).
Рис.
3
Теперь рассмотрим другую ситуацию, когда пользователь выбрал не верный файл:
Если такое случилось, то код функции OnBtnLoad() предупредит нас об этом сообщением (рисунок 4).
Рис. 4
Итог работы приложения приведен на рисунке 5.
Рис. 5
Разработка
алгоритма программы
в виде блок-схемы
Блок-схема для функции OnBtnLoad()
Среда
программирования Microsoft
Visual C++
Введение
C++ - это попытка решения разработчиками языка С задач объектно-ориентированного программирования (Object Oriented Programming, OOP). Построенный на твердом фундаменте С, С++ помимо ООР поддерживает множество других полезных инструментов, не жертвуя при этом ни мощью, ни элегантностью, ни гибкостью С. С++ уже стал универсальным языком для программистов всего мира.
С++
был разработан сотрудником научно-
C++
- универсальный язык
Ключевым
понятием C++ является класс. Класс - это
тип, определяемый пользователем. Классы
обеспечивают скрытие данных, гарантированную
инициализацию данных, неявное преобразование
типов для типов, определенных пользователем,
динамическое задание типа, контролируемое
пользователем управление памятью и механизмы
перегрузки операций. C++ предоставляет
гораздо лучшие, чем в C, средства выражения
модульности программы и проверки типов.
В языке есть также усовершенствования,
не связанные непосредственно с классами,
включающие в себя символические константы,
inline- подстановку функций, параметры функции
по умолчанию, перегруженные имена функций,
операции управления свободной памятью
и ссылочный тип. В C++ сохранены возможности
языка C по работе с основными объектами
аппаратного обеспечения (биты, байты,
слова, адреса и т.п.). Это позволяет весьма
эффективно реализовывать типы, определяемые
пользователем.
C++ и его стандартные библиотеки спроектированы
так, чтобы обеспечивать переносимость.
Имеющаяся на текущий момент реализация
языка будет идти в большинстве систем,
поддерживающих C. Из C++ программ можно
использовать C библиотеки, и с C++ можно
использовать большую часть инструментальных
средств, поддерживающих программирование
на C.
Microsoft Visual C++ и MFC
MFC расшифровывается как Microsoft Foundations Classes. Это библиотека, которая используется для программирования под Windows на Visual C++. Сам язык C/C++ хотя и позволяет программировать под Windows, но с большими трудностями. Так, для создания простейшего приложения (окно, которое можно двигать по экрану, минимизировать и максимизировать) надо написать несколько десятков строчек кода. С помощью MFC вы это сделаете существенно быстрее. MFC инкапсулирует в себя многие рутинные операции, с которыми сталкивается программист при создании программ по Windows.
Наряду с MFC существуют и другие библиотеки для Windows-программирования. Например VCL (Visual Component Library) от Borland. Она используется в продуктах Borland'а - C++ Builder и Delphi (несомненный плюс всего этого - изучив VCL, вы сможете работать и в Delphi, и в C++ Builder).
Но
сейчас стандарт это всё-таки MFC. И
даже в C++ Builder вы можете использовать MFC.
Процесс разработки Windows-программы в Visual C++ начинается с создания нового проекта и подготовки набора исходных файлов. Раньше их приходилось делать вручную, теперь всю работу берет на себя "мастер" AppWizard.
AppWizard
- это специальный инструмент
для генерации программных
Классы графического интерфейса
Весь вывод в системе Windows реализован на принципе унификации работы с такими физически различными устройствами, как экран дисплея, принтеры, плоттеры, и.т.п. Для всех этих устройств, приложение использует одни и те же функции и, в общем случае, может «не задумываться» над тем, куда будет выведена строка текста или какой-либо графический объект. Система сама распознает устройство ввода и активизирует соответствующий драйвер. Такой подход, с одной стороны, обеспечивает универсальность процесса графического вывода, а с другой – позволяет, например, создавать платы графических акселераторов, которые самостоятельно, без использования центрального процессора осуществляют преобразования команд рисования, существенно разгружая тем самым всю систему в целом.
Для реализации такого подхода в Windows предусмотрен специальный объект, называемый контекстом устройства. Именно он хранит необходимую информацию, как об устройстве вывода, так и о параметрах соответственно рисования. Физически весь вывод происходит, естественно, на конкретное устройство, представленное в системе контекстом, описываемым, в свою очередь, дескриптором. Последний используют (в качестве параметра) все функции графического вывода Win32 API, т.е. при этом задействуется объект «контекст устройства», до чего MFC-приложению нет никакого дела – оно работает с объектами классов библиотеки MFC, что существенно удобнее и надежнее.
CDC – базовый класс для всех классов, инкапсулирующих контексты устройств Windows. Объекты этого класса используются для работы со всем экраном дисплея или с таким устройством, как принтер.