Как составить программу на языке Паскаль для построения круговой диаграммы Питание , основываясь на том, что здоровое

  • 35
Как составить программу на языке Паскаль для построения круговой диаграммы "Питание", основываясь на том, что здоровое питание должно содержать 15% белков, 20% жиров и 65% углеводов?
Давид
36
Конечно, я могу помочь вам с этим! Вот пример программы на языке Паскаль для построения круговой диаграммы "Питание" с указанными пропорциями:

pascal
program КруговаяДиаграмма;
uses Graph;

const Ширина = 400; // Ширина окна
Высота = 400; // Высота окна
Радиус = 150; // Радиус диаграммы

var ГрафическийРежим, ГрафическийДрайвер: Integer;

procedure РисоватьДиаграмму(Питание: String; Белки, Жиры, Углеводы: Real);
var Сумма: Real;
УголБелков, УголЖиров, УголУглеводов: Integer;
begin
Сумма := Белки + Жиры + Углеводы;
УголБелков := Round(360 * Белки / Сумма);
УголЖиров := Round(360 * Жиры / Сумма);
УголУглеводов := Round(360 * Углеводы / Сумма);

ClearDevice;

SetFillStyle(SolidFill, Red); // Задаем цвет и стиль заливки для белков (красный)
Sector(Ширина div 2, Высота div 2, 0, УголБелков, Радиус);

SetFillStyle(SolidFill, Green); // Задаем цвет и стиль заливки для жиров (зеленый)
Sector(Ширина div 2, Высота div 2, УголБелков, УголБелков + УголЖиров, Радиус);

SetFillStyle(SolidFill, Blue); // Задаем цвет и стиль заливки для углеводов (синий)
Sector(Ширина div 2, Высота div 2, УголБелков + УголЖиров, УголБелков + УголЖиров + УголУглеводов, Радиус);

SetColor(White); // Задаем цвет линий
Circle(Ширина div 2, Высота div 2, Радиус); // Рисуем окружность вокруг диаграммы

SetTextStyle(DefaultFont, HorizDir, 2);
OutTextXY(Ширина div 2 - 80, Высота div 2 - Радиус - 50, Питание);

OutTextXY(Ширина div 2 - 100, Высота div 2 - Радиус - 20, "Белки: " + FloatToStr(Белки) + "%");
OutTextXY(Ширина div 2 - 100, Высота div 2 - Радиус + 10, "Жиры: " + FloatToStr(Жиры) + "%");
OutTextXY(Ширина div 2 - 100, Высота div 2 - Радиус + 40, "Углеводы: " + FloatToStr(Углеводы) + "%");

ReadLn;
end;

begin
ГрафическийДрайвер := D4bit;
ГрафическийРежим := VGAHi;
InitGraph(ГрафическийДрайвер, ГрафическийРежим, "");

РисоватьДиаграмму("Питание", 15, 20, 65);
CloseGraph;
end.


В этой программе используется модуль Graph для работы с графикой. Программа рисует круговую диаграмму, основываясь на заданных пропорциях белков, жиров и углеводов. Здоровое питание представлено следующими пропорциями: 15% белков, 20% жиров и 65% углеводов.

Процедура `РисоватьДиаграмму` принимает следующие параметры: название питания (строка), процент белков (вещественное число), процент жиров (вещественное число) и процент углеводов (вещественное число). Здесь мы используем переменную `Сумма`, чтобы получить общую сумму процентных значений, и затем вычисляем углы для каждого сектора диаграммы.

Затем мы используем процедуры `SetFillStyle` и `Sector`, чтобы нарисовать секторы диаграммы с соответствующими цветами для белков (красный), жиров (зеленый) и углеводов (синий). Затем мы рисуем окружность вокруг диаграммы с помощью процедуры `Circle`.

Процедура `OutTextXY` используется для отображения текста на графическом окне. Здесь мы выводим название питания и процентные значения белков, жиров и углеводов.

В конце программы мы вызываем процедуру `РисоватьДиаграмму` с заданными значениями для питания "Питание", 15% белков, 20% жиров и 65% углеводов. После выполнения программы диаграмма будет отображена на графическом окне.

Надеюсь, этот подробный ответ поможет вам создать программу на языке Паскаль для построения круговой диаграммы "Питание"! Если у вас возникнут дополнительные вопросы, пожалуйста, не стесняйтесь задавать их.