Напишите программу, которая выводит на экран круговую диаграмму - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Напишите программу, которая выводит на экран круговую диаграмму , отражающую товарооборот (в процентах) книжного магазина. Исходные данные 30% 35% 30% 5%.

Решение задачи: «Напишите программу, которая выводит на экран круговую диаграмму»

textual
Листинг программы
  1. uses graphABC;
  2. const x:array[1..4] of integer=(30,35,30,5); //массив значений
  3.       cv:array[1..4]of integer=(clRed,clGreen,clBlue,clLime); //массив цветов
  4. var i,c,r,x1,y1:integer;
  5.     y:array[1..4] of real;//массив удельных весов
  6.     s,a,b:integer;//сумма, углы
  7. begin
  8. s:=0;
  9. for i:=1 to 4 do
  10. s:=s+x[i];
  11. for i:=1 to 4 do
  12. y[i]:=x[i]*100/s;
  13. setwindowsize(500,500);
  14. centerwindow;
  15. c:=250;
  16. setfontsize(16);
  17. textout(c-120,20,'Товарооборот в процентах');
  18. b:=round(360*y[1]/100);
  19. r:=150;
  20. setpencolor(cv[1]);
  21. setbrushcolor(cv[1]);
  22. pie(c,c,r,0,b);
  23. x1:=c+round((r+30)*cos(b/2*pi/180));
  24. y1:=c-round((r+30)*sin(b/2*pi/180));
  25. setbrushstyle(bsClear);
  26. setfontcolor(cv[1]);
  27. textout(x1,y1,inttostr(x[1])+' %');
  28. for i:=2 to 3 do
  29.  begin
  30.   a:=round(360*y[i]/100)+b;
  31.   setpencolor(cv[i]);
  32.   setbrushcolor(cv[i]);
  33.   setbrushstyle(bsSolid);
  34.   pie(c,c,r,b,a);
  35.   x1:=c+round((r+50)*cos((b+(a-b)/2)*pi/180));
  36.   y1:=c-round((r+20)*sin((b+(a-b)/2)*pi/180));
  37.   setbrushstyle(bsClear);
  38.   setfontcolor(cv[i]);
  39.   textout(x1,y1,inttostr(x[i])+' %');
  40.   b:=a;
  41.  end;
  42. setpencolor(cv[4]);
  43. setbrushcolor(cv[4]);
  44. setbrushstyle(bsSolid);
  45. pie(c,c,r,b,360);
  46. setbrushstyle(bsClear);
  47. setfontcolor(cv[4]);
  48. x1:=c+round((r+20)*cos((b+(360-b)/2)*pi/180));
  49. y1:=c-round((r-100)*sin((b+(360-b)/2)*pi/180));
  50. textout(x1,y1,inttostr(x[4])+' %');
  51. end.

Объяснение кода листинга программы

  1. Используется библиотека graphABC.
  2. Создаются массивы значений x, cv и y.
  3. Переменные i, c, r, x1 и y1 инициализируются.
  4. Вычисляется сумма s.
  5. Для каждого элемента i от 1 до 4 вычисляется удельный вес y[i] и сохраняется в массиве y.
  6. Устанавливается размер окна и выравнивание текста.
  7. Выводится текст Товарооборот в процентах.
  8. Вычисляется угол b, используя первый элемент массива y.
  9. Устанавливаются цвет кисти и шрифта для текста.
  10. Выводится круговая диаграмма с использованием функции pie.
  11. Вычисляются координаты x1 и y1 для текста.
  12. Выводится текст 30 %.
  13. Для каждого элемента i от 2 до 3 вычисляется угол a, используя соответствующий элемент массива y.
  14. Выводятся круговые диаграммы для каждого элемента i с использованием функций pie и textout.
  15. Вычисляется угол b для второго элемента массива y.
  16. Выводится текст 50 %.
  17. Для каждого элемента i от 2 до 3 вычисляется угол a, используя соответствующий элемент массива y.
  18. Выводятся круговые диаграммы для каждого элемента i с использованием функций pie и textout.
  19. Вычисляется угол b для третьего элемента массива y.
  20. Выводится текст 100 %.
  21. Задаются цвета кистей для последней диаграммы.
  22. Выводится последняя диаграмма.
  23. Закрывается программа.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.571 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы