Нарисовать круг, разделённый ** N одинаковых частей, окрашенных в разный цвет. Количество...

0 голосов
47 просмотров
Нарисовать круг, разделённый на N одинаковых частей, окрашенных в разный цвет. Количество частей N вводится с клавиатуры.
Использовать процедуру Pie.procedurePie(x,y,r,a1,a2: integer); Рисует заполненный сектор окружности, ограниченный дугой с центром в точке (x,y) и радиусом r, заключенной между двумя лучами, образующими углы a1 и a2 с осью OX (a1 и a2 – вещественные, задаются в градусах и отсчитываются против часовой стрелки)
image

Информатика (244 баллов) | 47 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Uses GraphABC;
var n,i,a1,a2,r:integer;
begin
a1:=0;
write('Количество частей: ');
readln(n);
r:=round(360/n); 
for i:=1 to n do
  begin  a2:=a1+r;
  if i=n then a2:=360; 
  Brush.Color := clRandom;
  Pie(300,250,200,a1,a2);
  a1:=a2;
  end
end.

Если ввведено число, на которое 360 без остатка не делится, то один из секторов из-за округления получается больше, чем другие. Устранять это не стал, т.к. это привело бы к усложнению программы.

0

Спасибо!