Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Министерство образование РФ.
ТГТУ
Кафедра ИПУ
Курсовая работа по предмету
“Графические средства в экономических информационных системах”
Тема: “Вывод на экран круговой диаграммы”
Выполнил: Ли О.
ст. гр. Л-31
“__”________199_г.
Принял:Толстых С.С.
“__”________199_г.
Тамбов 199
Кафедра: “ИПУ”
“Утверждаю” Зав. Кафедрой
_____________Матвейкин В.Г.
“___”_________________199__г.
ЗАДАНИЕ
на курсовую работу по предмету ГС в ЭИС
Используемые технические и программные средства:
Выдал: Толстых С.С.
Принял: Толстых С.С.
Содержание:
Введение................................................................................4
Сценарий работы программы..............................................6
Описание программного комплекса....................................8
Выводы....................................................................................12
Введение
Человеческая природа такова, что накопление знаний о мире, решение задач, возникающих перед учеными и специалистами , возможно двумя путями: алгебраическим и геометрическим. Первый путь сейчас стал почти единственным из-за широкого внедрения в практику алгебраических моделей, которые опираются на идею символьных преобразований и обладают большой степенью общности. Зато геометрический подход обладает следующим неоспоримым преимуществом: апеллируя к образу, рисунку, геометрическому узору, он генерирует у человека определенные ассоциации, с помощью которых формируются интеллектуальные подсказки.
Удобное, понятное для восприятия представление информации - комплексная наука , требующая для своего развития усилий математиков, экономистов, психологов, техников. Для лица, принимающего решение, особенно важно, когда выбор делается им самим на основе предложенной ему информации, его опыта и знаний, а не задается в директивном виде.
Говоря о машинной графике, следует отметить, что в условиях рынка (как в России, так и в развитых зарубежных странах) большое внимание уделяется научной визуализации данных в целях демонстрационного представления научных и коммерческих результатов. Иногда эффективного демонстрационного материала оказывается вполне достаточно, чтобы представить в наглядном виде экономическое и финансовое состояние объекта исследования. Демонстрационная машинная графика позволяет решать три основных типа задач: работа с диаграммами, редактирование изображений, подготовка и планирование демонстрационного материала. Интенсивное развитие технологий этого направления свидетельствует об актуальности тех задач, которые они позволяют решать .
Сценарий работы программы.
Данная программа позволяет графически представить экономичесую информацию. Это имеет большое значение, так как является эффективным демонстрационным материалом, которого оказывается вполне достаточно, что бы представить в нагдядном виде экономическое и финансовое состояние объекта исследования.
Современная экономика требует быстрого принятия решений, при этом необходимо обрабатывать большое количество информации, поэтому при проведении любого научно обоснованного экономического анализа в обязательном порядке должны решаться проблемы построение эффективной технологии обработки экономической и другой управленческой информации. Обработка информации может вестись как аналитическим, так и графическими методами. Одним наиболее наглядных графических методов является построение диаграмм. Диаграмма может содержать различное количество секторов. Мы рассмотрим случай, когда количество секторов меньше 10. Данная диаграмма сопровождается комментариями. В программе предусмотрено использование мыши.
Работа программы
Чтобы запустить программу нужно в командной строке написать имя программы. Затем нажимаем клавишу enter.
Потом на экране Вашего монитора Вы увидите цветную , круговую, объёмную диаграмму. В левом верхнем углу появятся проценты каждой доли диаграммы. Для удобства восприятия эти проценты своим цветом будут соответствовать отдельному сектору диаграммы..Влевом верхнем углу Вы можете увидеть так называемый крестик, нажав на который указателем мышы программы выйдет туда, откуда вы ее запускали. Также из программы можно выйти , нажав клавишу Esc. В программе работает только левая кнопка мыши. Чтобы получить инфомацию о значении какого-то сектора, то нужно только навести указатель мыши в нужный кусок. При наведении мыши в нижнем углу появляется информация относительно выбранного сектора. В программе предусмотренно выдвижение кусочков диаграмм. Для этого нужно просто навести на нужный кусочек и нажать клавишу мыши
Описание программного комплекса
Программа состоит из множества функций.
Она начинается функции main
В этой функции задаются количество секторов и числовые
значения каждого сектора, название диаграммы, и текстовое
значение каждого сектора.
Дальше вызывается функция, которая рисует диаграмму.
В программу входят функции:
void beep(void);//функция звука
void function(char *name,char inf[13][50],double percent[13],int n);
//вызов диаграммы
Параметры:
Name имя диаграммы
inf[13][50] информация о секторах
percent[13] процентные соотношения
n количество секторов
void writingofprocents(int *color,char percents[][10],int x1,int y1,int n);
//вывод на экран процентов
Параметры:
Color цвет надписи
percents[][10] - процентное соотношение
void ramka(int x1,int y1,int x2,int y2,int h,char *name,int *color);
//рисование рамки
Параметры:
int x1,int y1,int x2,int y2 координаты рамки
int h высота
char *name имя диаграммы
int *color цвет рамки
void information(char *text, int color,int bkcolor,int x1,int x2,
int y2,int flag);
//вывод строки информации
Параметры:
char *text содержание строки
int color цвет строки
int bkcolor цвет фона
int x1,int x2, int y2,int flag координаты строки информации
void movingleft2(double *percent,int xc,int yc,int rx,
int ry,int h,int *color,int coloroflines,int n,
int k,double ugol,char percents[][10],
int x1,int y1);
//Выдвигает выбранный сектор
k - номер выдвигаемого сектора,
n- общее количество секторов,
x1 y1 координаты рамки экрана
int xc,int yc коордонаты центра рамки
int rx, int ry - радиусы
h - высота
void myduga (double n1M_PI,double n2M_PI,int Rx, int Ry,
int xc,int yc,int color);//рисование дуги
//n1M_PI начальный угол
//n2M_PI конечный угол
void part (double ugol,double percent,int xc,int yc,int rx,int ry,
int h,int color);
//рисование 1 об"емного сектора
void myfillsector(double n1M_PI,double n2M_PI,int rx, int ry,
int xc,int yc,int color,int coloroflines);
// заполнение сектора
void diagrammawithoutpart1(double *percent,int xc,int yc,int rx,
int ry,int h,int *color,int coloroflines,
int k);
//рисование диаграммы от 0 до к сектора
void diagrammawithoutpart2(double *percent,int xc,int yc,int rx,
int ry,int h,int *color,int coloroflines,int n,
int k);
//рисование диаграммы от к+1 до конечного сектора
Выводы
Данная программа не претендует на особое место в области програмирования, так как является всего лишь курсовой работой студента третьего курса. Конечно в ней очень много слабых мест. Эту программу можно бесконечно модифицировать и подстраивать под каждую проблему. Как известно, программы пишутся под отдельную проблему. Никакая программа не является универсальной, потому что она не сможет отразить все особенности проблемы. Но мне кажется, что существуют какие-то общие критерии оценки программы. Такие как: простота использования, легкость понимания работы, интерфейс, быстрота работы, количество ресурсов, забираемое программой и так далее. Круговые диаграммы можно встретить во многих програмных продуктах и у пользователя уже сложились требование к работе с круговой диаграммой.
Что касается конкретно моей программы , то можно улучшить интерфейс: Добавить какие-то кнопочки, всплывающие окошечки, разработать систему помощи , предусмотреть изменение данных во время работы программы и так далее до бесконечности.Мне было очень интересно заняться этой проблемой, так как эта работа хоть как то приближает меня к “полезному ” програмированию.