Нарисовать звезду на экране - Pascal ABC

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

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

66. Нарисовать звезду на экране.

Решение задачи: «Нарисовать звезду на экране»

textual
Листинг программы
uses graphABC;
type Tpoint=record
            x,y:integer;
            end;
var  i,x0,y0,R,R1:integer;
     p:array[1..11]of TPoint;
     a:real;
begin
x0:=windowwidth div 2;
y0:=windowheight div 2;
a:=pi/2;
for i:=1 to 10 do
 begin
  if i mod 2=0 then
   begin
    p[i].x:=x0+round(38*cos(a));
    p[i].y:=y0-round(38*sin(a));
   end
  else
   begin
    p[i].x:=x0+round(100*cos(a));
    p[i].y:=y0-round(100*sin(a));
   end;
  a:=a+pi/5;
 end;
p[11]:=p[1];
setpencolor(clRed);
setbrushcolor(clRed);
polygon(p,11);
end.

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

  1. В первой строке используется библиотека graphABC, которая, вероятно, предоставляет функции для работы с графиками.
  2. Создается тип Tpoint, который представляет точку с координатами x и y.
  3. Создаются переменные i, x0, y0, R и R1, которые будут использоваться в цикле.
  4. Создается массив p, который будет хранить координаты точек.
  5. Вычисляется значение a, которое будет использоваться в цикле.
  6. Начинается цикл, который будет выполняться 10 раз.
  7. Внутри цикла проверяется, является ли номер точки четным. Если да, то вычисляются координаты точки по заданному алгоритму. Если нет, то вычисляются другие координаты точки.
  8. Значение a увеличивается на pi/5 после каждого прохода цикла.
  9. После последнего прохода цикла, точка с наименьшим расстоянием от центра звезды копируется обратно в массив p.
  10. Устанавливается цвет кисти и полигона на красный.
  11. Выполняется функция polygon, которая рисует многоугольник на экране.

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


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

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

11   голосов , оценка 3.818 из 5