Построить круговую диаграмму “Нормы питания" - PascalABC.NET

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

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

Построить круговую диаграмму “Нормы питания девочек 11-13 лет”. Девочки 11-13 лет должны получать в день 85г белков, 85г жиров, 340г углеводов.

Решение задачи: «Построить круговую диаграмму “Нормы питания"»

textual
Листинг программы
uses GraphABC;
begin
  var data := Arr(
    (85, 'белков, г.', clYellow),
    (85, 'жиров, г.', clLime),
    (340, 'углеводов, г.', clRed)
  );
  
  setWindowSize(600, 600);
  SetFontSize(10);
  var sum := data.Sum(v -> v[0]);
  data.Numerate(0).Aggregate(0, (a, b) ->
    begin
      var inf := b[1];
      result := a + round(inf[0] * 360 / sum) + 1;
      SetBrushColor(inf[2]);
      Pie(200, 240, 140, a, result);
      textout(400, b[0] * 25, inf[1]);
      textout(550, b[0] * 25, floattostr(inf[0]));
    end);
end.

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

  1. Объявлена переменная data типа Arr, которая содержит список данных для построения диаграммы (85 г. белков, 85 г. жиров, 340 г. углеводов).
  2. Установлен размер окна и размер шрифта.
  3. Вычислено общее количество белков, жиров и углеводов путем суммирования значений первого столбца массива data.
  4. Для каждого элемента массива data выполняется агрегация, которая суммирует значения первого столбца и сохраняет индекс элемента.
  5. Для каждого элемента массива data рисуется круговая диаграмма с использованием цвета, соответствующего цвету углеводов (красный).
  6. С помощью функции textout выводится название и значение каждого элемента массива data.

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


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

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

13   голосов , оценка 4.154 из 5
Похожие ответы