Нарисовать звезду на экране - 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.
Объяснение кода листинга программы
- В первой строке используется библиотека graphABC, которая, вероятно, предоставляет функции для работы с графиками.
- Создается тип Tpoint, который представляет точку с координатами x и y.
- Создаются переменные i, x0, y0, R и R1, которые будут использоваться в цикле.
- Создается массив p, который будет хранить координаты точек.
- Вычисляется значение a, которое будет использоваться в цикле.
- Начинается цикл, который будет выполняться 10 раз.
- Внутри цикла проверяется, является ли номер точки четным. Если да, то вычисляются координаты точки по заданному алгоритму. Если нет, то вычисляются другие координаты точки.
- Значение a увеличивается на pi/5 после каждого прохода цикла.
- После последнего прохода цикла, точка с наименьшим расстоянием от центра звезды копируется обратно в массив p.
- Устанавливается цвет кисти и полигона на красный.
- Выполняется функция polygon, которая рисует многоугольник на экране.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д