русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Круговые диаграммы


Дата добавления: 2015-07-23; просмотров: 609; Нарушение авторских прав


В круговой диаграмме каждому элементу последовательности соответствует сектор, градусная мера которого пропорциональна величине элемента. Для построения круговой диаграммы необходимо просуммировать все элементы последовательности, после чего найти отношения каждого из элементов к полученной сумме (так будет вычислено, какую часть круга нужно поставить в соответствие данной величине,—т.е. рассчитываются доли круга, приходящиеся на данную величину, если весь круг принять равным

1) Все эти расчеты можно представить формулами ; . Затем эти относительные величины переводятся в градусы:

Алгоритм в этом случае будет следующим: 1)вычислить сумму элементов последовательности; 2)найти величину сектора, соответствующего каждой величине; 3)построить все секторы в графическом режиме (в результате должен получиться полный круг). Желательно каждый сектор строить своим цветом, или использовать разную штриховку, если секторы одноцветные.

Program Kr_D;

Uses Graph;

Var a,S:Real;I:Byte;G,M:Integer;

Xc,Yc,R:Integer; {координаты центра круга и его радиус}

F:Text; {файл содержит данные для построения диаграммы}

Alpha : Integer; {угол, соответствующий очередной величине}

SAngle : Integer; Stroka : String;

Begin

Assign(F, '1.dat'); Reset(F);

S:=0; {сумма элементов последовательности}

While Not Eof(F) Do

begin Readln(F, a); S := S + a end;

reset(f); G := detect; M := 0;

initgraph(G, M, '');

Xc := GetMaxX Div 2; Yc := GetMaxY Div 2;

R := 100; SAngle := 0; i := 1;

While Not Eof(f) Do begin

Readln(F, a);

Alpha := round(A / S * 360); {вычисление угла}

setcolor(i mod 16+1); setfillstyle(1,i mod 16+1);

{построение сектора, соответствующего величине}

sector(Xc, Yc, SAngle, SAngle+Alpha,R, R);

SAngle := SAngle + Alpha; i:= i + 1;

{укажем, какому цвету какая величина соответствует}



bar(Xc+200,Yc-250+(i-1)*20,Xc+220,Yc-250+(i-1)*20+15);

str(a:8:2, stroka);

outtextxy(Xc+230,Yc-250+5+(i-1)*20,stroka)

end;

readln; close(F); closegraph End.



<== предыдущая лекция | следующая лекция ==>
Фрагментация динамической памяти. Освобождение динамической памяти. | Столбчатые диаграммы


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.262 сек.