Вывод на экран круговой диаграммы

Вывод на экран круговой диаграммы

Введение

Человеческая природа такова , что накопление знаний о мире, решение задач, возникающих перед учеными и специалистами , возможно двумя путями: алгебраическим и геометрическим. Первый путь сейчас стал почти единственным из-за широкого внедрения в практику алгебраических моделей , которые опираются на идею символьных преобразований и обладают большой степенью общности. Зато геометрический подход обладает следующим неоспоримым преимуществом: апеллируя к образу, рисунку, геометрическому узору, он генерирует у человека определенные ассоциации, с помощью которых формируются интеллектуальные подсказки.

Удобное, понятное для восприятия представление информации - комплексная наука , требующая для своего развития усилий математиков, экономистов, психологов, техников. Для лица, принимающего решение, особенно важно,  когда выбор делается им самим на основе предложенной ему информации, его опыта и знаний, а не задается в директивном виде.

Говоря о машинной графике, следует отметить, что в условиях рынка (как в России, так и в развитых зарубежных странах) большое внимание уделяется научной визуализации данных в целях демонстрационного представления научных и коммерческих результатов. Иногда эффективного демонстрационного материала оказывается вполне достаточно, чтобы представить в наглядном виде экономическое и финансовое состояние объекта исследования. Демонстрационная машинная графика позволяет решать три основных типа задач: работа с диаграммами, редактирование изображений, подготовка и планирование демонстрационного материала. Интенсивное развитие технологий этого  направления свидетельствует об актуальности тех задач, которые они позволяют решать .

Общие сведения о программе

Данная программа позволяет графически представить экономичесую информацию.  Это имеет большое значение, так как является эффективным  демонстрационным материалом, которого оказывается вполне достаточно, что бы представить в нагдядном виде экономическое и финансовое состояние объекта исследования.

Современная экономика требует быстрого принятия решений, при этом необходимо обрабатывать большое количество информации, поэтому при проведении любого научно обоснованного экономического анализа в обязательном порядке должны решаться проблемы построение эффективной технологии обработки экономической и другой управленческой информации. Обработка информации может вестись как аналитическим, так и графическими методами. Одним  наиболее наглядных графических методов является построение диаграмм. Диаграмма может содержать различное количество секторов. Мы рассмотрим случай, когда количество секторов меньше 10. Данная диаграмма сопровождается комментариями.



Содержание:

Введение................................................................................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 до конечного сектора

Выводы

Данная программа не претендует на особое место в области програмирования, так как является всего лишь курсовой  работой студента третьего курса. Конечно в ней очень много слабых мест. Эту программу можно бесконечно модифицировать и подстраивать под каждую проблему. Как известно, программы пишутся под отдельную проблему. Никакая программа не является универсальной, потому что она не сможет отразить все особенности проблемы. Но мне кажется, что существуют какие-то общие критерии оценки программы. Такие как: простота использования, легкость понимания работы, интерфейс, быстрота работы, количество ресурсов, забираемое программой и так далее. Круговые диаграммы можно встретить во многих програмных продуктах и у пользователя уже сложились требование к работе с круговой диаграммой. 

Что касается конкретно моей программы , то можно улучшить интерфейс: Добавить какие-то кнопочки, всплывающие окошечки, разработать систему помощи , предусмотреть изменение данных во время работы программы и так далее до бесконечности.Мне было очень интересно заняться этой проблемой, так как эта работа хоть  как – то приближает меня к “полезному ” програмированию.