Напишите программу, которая выводит на экран круговую диаграмму - Pascal ABC
Формулировка задачи:
Напишите программу, которая выводит на экран круговую диаграмму , отражающую
товарооборот (в процентах) книжного магазина. Исходные данные 30% 35% 30% 5%.
Решение задачи: «Напишите программу, которая выводит на экран круговую диаграмму»
textual
Листинг программы
uses graphABC; const x:array[1..4] of integer=(30,35,30,5); //массив значений cv:array[1..4]of integer=(clRed,clGreen,clBlue,clLime); //массив цветов var i,c,r,x1,y1:integer; y:array[1..4] of real;//массив удельных весов s,a,b:integer;//сумма, углы begin s:=0; for i:=1 to 4 do s:=s+x[i]; for i:=1 to 4 do y[i]:=x[i]*100/s; setwindowsize(500,500); centerwindow; c:=250; setfontsize(16); textout(c-120,20,'Товарооборот в процентах'); b:=round(360*y[1]/100); r:=150; setpencolor(cv[1]); setbrushcolor(cv[1]); pie(c,c,r,0,b); x1:=c+round((r+30)*cos(b/2*pi/180)); y1:=c-round((r+30)*sin(b/2*pi/180)); setbrushstyle(bsClear); setfontcolor(cv[1]); textout(x1,y1,inttostr(x[1])+' %'); for i:=2 to 3 do begin a:=round(360*y[i]/100)+b; setpencolor(cv[i]); setbrushcolor(cv[i]); setbrushstyle(bsSolid); pie(c,c,r,b,a); x1:=c+round((r+50)*cos((b+(a-b)/2)*pi/180)); y1:=c-round((r+20)*sin((b+(a-b)/2)*pi/180)); setbrushstyle(bsClear); setfontcolor(cv[i]); textout(x1,y1,inttostr(x[i])+' %'); b:=a; end; setpencolor(cv[4]); setbrushcolor(cv[4]); setbrushstyle(bsSolid); pie(c,c,r,b,360); setbrushstyle(bsClear); setfontcolor(cv[4]); x1:=c+round((r+20)*cos((b+(360-b)/2)*pi/180)); y1:=c-round((r-100)*sin((b+(360-b)/2)*pi/180)); textout(x1,y1,inttostr(x[4])+' %'); end.
Объяснение кода листинга программы
- Используется библиотека graphABC.
- Создаются массивы значений x, cv и y.
- Переменные i, c, r, x1 и y1 инициализируются.
- Вычисляется сумма s.
- Для каждого элемента i от 1 до 4 вычисляется удельный вес y[i] и сохраняется в массиве y.
- Устанавливается размер окна и выравнивание текста.
- Выводится текст
Товарооборот в процентах
. - Вычисляется угол b, используя первый элемент массива y.
- Устанавливаются цвет кисти и шрифта для текста.
- Выводится круговая диаграмма с использованием функции pie.
- Вычисляются координаты x1 и y1 для текста.
- Выводится текст
30 %
. - Для каждого элемента i от 2 до 3 вычисляется угол a, используя соответствующий элемент массива y.
- Выводятся круговые диаграммы для каждого элемента i с использованием функций pie и textout.
- Вычисляется угол b для второго элемента массива y.
- Выводится текст
50 %
. - Для каждого элемента i от 2 до 3 вычисляется угол a, используя соответствующий элемент массива y.
- Выводятся круговые диаграммы для каждого элемента i с использованием функций pie и textout.
- Вычисляется угол b для третьего элемента массива y.
- Выводится текст
100 %
. - Задаются цвета кистей для последней диаграммы.
- Выводится последняя диаграмма.
- Закрывается программа.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д