Разработка программы для рисования кривой на экране и изменения ее цвета с помощью объектно-ориентированного программирования
Унифицированный язык моделирования как одна из основных концепций по составлению программного кода. Объединение данных и действий, производимых над ними в единый комплекс - основополагающая идея объектно-ориентированного подхода к программированию.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 11.05.2015 |
Размер файла | 38,6 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru
Размещено на http://www.allbest.ru
Введение
Двадцать и более лет назад программисты реализовывали свои продукты путем непосредственного написания кода. С возрастанием размера и сложности проектов становилось все яснее, что такой подход неудачный. Проблема заключалась в непропорциональном возрастании сложности процесса создания своих программ.
Пожалуй, большие программы можно без преувеличения назвать самым сложным творением человека. Из-за своей сложности такие программы нередко содержат ошибки. Ошибки в программном обеспечении потенциально могут стать причиной материального ущерба, а иногда и угрожать жизни людей (например, при управлении авиаполетами). В результате борьбы с проблемой сложности программного кода были выработаны три новые концепции программирования:
объектно-ориентированное программирование (ООП);
унифицированный язык моделирования;
специализированные средства обработки программного обеспечения.
ООП предлагает новый мощный способ решения проблемы сложности программ. Вместо того чтобы рассматривать программу как набор последовательно выполняемых действий, в ООП программа представляется в виде совокупности объектов, обладающих сходными свойствами и набором действий, которые можно с ними производить.
Основополагающей идеей объектно-ориентированного подхода программирования является объединение данных и действий, производимых над этими данными, в единое целое, которое называется объектом.
Функции объекта, называемые в С++ методами или функциями-членами, обычно предназначены для доступа к данным объекта. Если необходимо считать какие-либо данные объекта, нужно вызвать соответствующий метод, который выполнит считывание и возвратит нужное значение. Прямой доступ к данным невозможен, они сокрыты от внешнего воздействия, что защищает их от случайного изменения. Говорят, что данные инкапсулированы. Термины сокрытие и инкапсуляция данных являются ключевыми в описании объектно-ориентированных языков.
Если необходимо изменить данные объекта, то это действие будет возложено на методы объекта. Никакие другие функции не могут изменить данные класса. Такой подход облегчает написание, отладку и использование программ.
Объектно-ориентированное программирование никак не связано с процессом выполнения программы, а является лишь способом ее организации. Большая часть операторов С++ идентична операторам процедурных языков, в частности языка С. Внешне метод класса в С++ очень похож на обычную функцию языка С, и только по контексту программы можно определить, является ли функция частью процедурной С-программы или объектно-ориентированной программы С++.
1. Постановка задачи
Цель программы - рисование кривой на экране и изменение ее цвета.
Программу следует реализовать, используя объектно-ориентированный подход программирования.
2. Описание исследуемого объекта
Для рисования кривой на экране соответственно должны присутствовать методы прорисовки всего экрана в целом.
Так как ПК во время работы программы должен быть переведен в графический режим и обратно выведен из него - при завершении работы, в программе эти действия так же реализованы.
Так как программа имеет набор взаимосвязанных методов и переменных, обрабатываемых ими многократном цикле, то для реализации поставленной задачи наиболее благоприятным является подход, основанный на принципах ООП.
3. Программная реализация
В программу были включены следующие модули:
Bios.h
Stdio.h
Conio.h
Dos.h
String.h
Graphics.h
Был создан один класс MouseRelling, который включает в себя конструкторы и деструкторы.
Использование конструктора и деструктора показано на данном отрезке программы.
// Конструктор + Инициализация + Исполнение программы
MouseRelling::MouseRelling()
{
x=-1;
y=-1;
LineColor=0;
InitGr();
NextColor();
// Если мышь неопределена - выход
if (!InitMouse()) return;
ShowMouse();
do
{
// Считать состояние мыши
GetInfMouse();
// Если нажата левая кнопка мыши
if (MouseBL==1)
{
// Скрыть световое перо мышки
HideMouse();
// Она нажата впервые - рисуем просто точку
if ((x==-1) && (y==-1))
{
x=MouseX;
y=MouseY;
putpixel(x,y,LineColor);
moveto(x,y);
}
// Если не впервые - соединяем предыдущую точку и текущую - прямой
else
{
moveto(x,y);
x=MouseX;
y=MouseY;
lineto(x,y);
};
// Показать световое перо
ShowMouse();
};
// Если нажаты клавиши
if (kbhit())
{
switch (getch())
{
case 32 : NextColor(); break; // space - пробел - меняем цвет
case 45 : return; break; // Alt+X - выход из программы
};
};
// Если нажата правая кнопка мышки - выход из программы
if (MouseBR==1) return;
}
while (1);
};
// Деструктор
MouseRelling::~MouseRelling()
{
ClosGr();
};
4. Описание контрольного примера
Данная программа была написана на Borland C++, в операционной среде Windows XP.
Рис. 1. Начальное состояние
Рис. 2. Состояние после вмешательства пользователя
Заключение
программный объектный унифицированный
Данная программа предназначена для проверки остаточных знаний в результате изучения курса Объектно-ориентированного Программирования
В ходе выполнения курсовой работы был создан один класс, который включает в себя конструкторы и деструкторы.
Литература
Лафоре Р. Объектно-ориентированное программирование в С++. Классика Computer Science. 4-е изд. - СПб.: Питер, 2003. - 928с.
В.В. Подбельский. Язык Си ++: Учеб. Пособие. - 5-е изд. - М.: Финансы и статистика, 2001. - 560с.
В. Шамис. Borland C++ Builder 5:учебный курс - СПб.: Питер, 2002. -688с.
Размещено на Allbest.ru
...Подобные документы
Основные элементы объектной модели. Сущность и преимущества объектно-ориентированного подхода, понятие объекта и класса. Унифицированный язык моделирования UML. Диаграммы классов и взаимодействия: назначение, построение и примеры использования.
реферат [273,2 K], добавлен 09.06.2009Особенности реализации главных элементов разрабатываемой программы (цифровые элементы) с помощью объектно-ориентированного подхода. Применение принципа инкапсуляции для защиты данных. Конструирование классов, описание и тестирование программного продукта.
курсовая работа [2,3 M], добавлен 10.05.2015Общая характеристика объектно-ориентированного подхода в программировании, его основные свойства и принципы. Разработка программы для автоматизация деятельности кафе на основе объектно-ориентированного подхода, проектирования и реализации схемы данных.
курсовая работа [1,2 M], добавлен 22.01.2012Понятие объектно-ориентированного программирования, характеристика используемых языков. Практическая разработка средств объектно-ориентированного программирования в задачах защиты информации: программная реализация на языке С++, а также Turbo Pascal.
курсовая работа [275,9 K], добавлен 22.12.2011Использование объектно-ориентированного программирования - хорошее решение при разработке крупных программных проектов. Объект и класс как основа объектно-ориентированного языка. Понятие объектно-ориентированных языков. Языки и программное окружение.
контрольная работа [60,1 K], добавлен 17.01.2011Исследование принципов объектно-ориентированного программирования на базе языка программирования С++. Разработка программного комплекса для ведения учёта памятников города. Описание процессов сортировки, поиска, формирования статистики по памятникам.
курсовая работа [782,4 K], добавлен 26.05.2014Особенности объектно-ориентированного проектирования. Основные понятия объектно-ориентированного подхода. Основы языка UML, варианты его использования. Диаграммы классов и взаимодействия. Разработка диаграммы прецедентов (вариантов использования).
курсовая работа [1,1 M], добавлен 13.05.2014Технологии программирования. Сущность объектно-ориентированного подхода к программированию. Назначение Си, исторические сведения. Алфавит, базовые типы и описание данных. Структуры и объединения. Операторы Си++. Функции. Библиотека времени выполнения.
курс лекций [51,9 K], добавлен 03.10.2008Разработка приложения "Калькулятор с переходом в строковый калькулятор" с применением объектно-ориентированного программирования. Концепция и понятия объектно-ориентированного программирования. Язык программирования Java. Листинг программы "Калькулятор".
курсовая работа [966,9 K], добавлен 11.02.2016Анализ объектно-ориентированного программирования, имитирующего способы выполнения предметов. Основные принципы объектно-ориентированного программирования: инкапсуляция, наследование, полиморфизм. Понятие классов, полей, методов, сообщений, событий.
контрольная работа [51,7 K], добавлен 22.01.2013Особенности разработки приложений для операционной системы с помощью императивного, структурированного, объектно-ориентированного языка программирования Delphi. Формальное начало программы. Выделение конца программного блока. Листинг и описание программы.
курсовая работа [1,2 M], добавлен 04.08.2014Анализ проблематики построения объектно-ориентированного канала связи. Основные понятия протокола Modbus. Возможности CodeSys для реализации объектно-ориентированного подхода. Разработка методики кроссплатформенной библиотеки для интеграции устройств.
курсовая работа [38,6 K], добавлен 15.06.2013Понятие объектно-ориентированного программирования, общая характеристика языков высокого уровня. Разработка программного обеспечения для реализации компьютерной игры "пинбол" с помощью императивного программирования в среде Microsoft Visual Basic.
курсовая работа [428,9 K], добавлен 19.09.2012Разработка программы для рисования различных правильных многоугольников с помощью объектно-ориентированного языка программирования. Использование для разработки среды C++ Builder 6 и библиотеки VCL. Разработка интерфейса приложения и алгоритма его работы.
курсовая работа [616,4 K], добавлен 18.10.2010Разработка программного средства для поиска альтернативных решений многокритериальных задач. Проектирование программного средства с помощью объектно-ориентированного подхода. Пример листинга программного кода. Особенности работы программы на примере.
контрольная работа [346,5 K], добавлен 11.06.2011Применение объектно-ориентированного программирования для написания нескольких модулей программы. Вычисление алгебраического уравнения методом половинного деления. Применение метода Эйлера в теории численных методов общих дифференциальных уравнений.
курсовая работа [398,1 K], добавлен 26.02.2015Характеристики и свойства языков программирования. Исследование эволюции объектно-ориентированных языков программирования. Построение эволюционной карты механизмов ООП. Разработка концептуальной модели функционирования пользовательского интерфейса.
курсовая работа [2,6 M], добавлен 17.11.2014Разработка объектно-ориентированной модели животного, которая объясняется построением модели игры Terrarium. Модель построена на базе концепций объектно-ориентированного программирования. Разработка компонента, моделирующего поведение животного.
курсовая работа [23,2 K], добавлен 30.11.2008Исследование объектно-ориентированного подхода к проектированию программного обеспечения будильника. Модель программного обеспечения. Взаимодействие между пользователями и системой. Диаграммы и генерация программного кода при помощи средств Rational Rose.
курсовая работа [355,8 K], добавлен 26.09.2014Унифицированный язык моделирования. Методы объектно-ориентированного анализа и проектирования. Создание диаграммы последовательности и диаграммы сотрудничества. Главная диаграмма классов. Добавление связей между классами. Зависимость между пакетами.
курсовая работа [2,7 M], добавлен 23.06.2011