Нарисовать звезду на экране - 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, которая рисует многоугольник на экране.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д