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

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

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

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

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

textual
Листинг программы
  1. uses graphABC;
  2. type Tpoint=record
  3.             x,y:integer;
  4.             end;
  5. var  i,x0,y0,R,R1:integer;
  6.      p:array[1..11]of TPoint;
  7.      a:real;
  8. begin
  9. x0:=windowwidth div 2;
  10. y0:=windowheight div 2;
  11. a:=pi/2;
  12. for i:=1 to 10 do
  13.  begin
  14.   if i mod 2=0 then
  15.    begin
  16.     p[i].x:=x0+round(38*cos(a));
  17.     p[i].y:=y0-round(38*sin(a));
  18.    end
  19.   else
  20.    begin
  21.     p[i].x:=x0+round(100*cos(a));
  22.     p[i].y:=y0-round(100*sin(a));
  23.    end;
  24.   a:=a+pi/5;
  25.  end;
  26. p[11]:=p[1];
  27. setpencolor(clRed);
  28. setbrushcolor(clRed);
  29. polygon(p,11);
  30. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут