Задание по икт, помогите!

0 голосов
36 просмотров

Задание по икт, помогите!


image

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

// PascalABC.NET 3.3, сборка 1625 от 17.01.2018
// Внимание! Если программа не работает, обновите версию!

uses GraphABC;

procedure DrawRegularPolygon(n,R,Xc,Yc:integer; color:graphABC.Color);
// Строит правильный n-угольник с радиусом описанной окружности R и
// координатами центра Xc, Yc. Color задает цвет пера.
begin
  Pen.Color:=color;
  var P:=new Point[n];
  for var i:=0 to n-1 do begin
    var arg:=2*Pi*i/n-Pi/2;
    P[i].X:=Trunc(xc+R*cos(arg));
    P[i].Y:=Trunc(yc+R*sin(arg))
    end;
  DrawPolygon(P);
end;

begin
  var (w,h):=(800,600); // размер графического окна
  SetWindowSize(w,h);
  var (xc,yc):=(w div 2,h div 2); // координаты центра
  var R:=h-yc-20; // радиус описанной окружности
  Window.Clear;
  Pen.Width:=5;
  var n:=Arr(36,12,10,9,8,6);
  var color:=Arr(clRed,clBlue,clGreen,clPurple,clOrange,clSienna);
  for var i:=0 to n.Length-1 do begin
    DrawRegularPolygon(n[i],R,xc,yc,color[i]);
    R-=30;
    end;
end.


image
(150k баллов)