Нарисуйте последовательность из 16 разноцветных заполненных звезд - Pascal ABC

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

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

помогите... нарисуйте последовательность из 16 разноцветных заполненных звезд..

Решение задачи: «Нарисуйте последовательность из 16 разноцветных заполненных звезд»

textual
Листинг программы
uses graphABC;
type Tpoint=record
            x,y:integer;
            end;
var  i,j,x,y,r,r1,a:integer;
     p:array[1..11]of TPoint;
begin
setwindowsize(800,100);
centerwindow;
r:=windowwidth div 32;
r1:=round(r*0.38);
y:=windowheight div 2;
for i:=1 to 16 do
 begin
  x:=(2*i-1)*R;
  a:=90;
  for j:=1 to 10 do
   begin
    if j mod 2=0 then
     begin
      p[j].x:=x+round(r1*cos(a*pi/180));
      p[j].y:=y-round(r1*sin(a*pi/180));
     end
    else
     begin
      p[j].x:=x+round(r*cos(a*pi/180));
      p[j].y:=y-round(r*sin(a*pi/180));
     end;
    a:=a+36;
   end;
  p[11]:=p[1];
  setpencolor(clRed);
  setbrushcolor(clRed);
  polygon(p,11);
 end;
end.

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

  1. В первой строке используется библиотека graphABC, которая, вероятно, предоставляет функции для работы с графиками.
  2. Создается тип TPoint, который представляет точку с координатами x и y.
  3. Создаются переменные i, j, x, y, r и r1. Переменная x и y устанавливается в размеры окна, а переменные r и r1 вычисляются для определения размера звезды.
  4. Создается массив p, который будет содержать точки для звезды.
  5. Задается размер окна в 800 на 100 точек.
  6. Для каждой точки в массиве p выполняется следующий блок кода:
    • x устанавливается в (2i-1)r, где i - номер точки от 1 до 16.
    • a устанавливается в 90 градусов, что, вероятно, определяет угол для каждой точки.
    • Если i - четное число, то для каждой точки выполняется первый блок кода, где x и y устанавливаются в координаты точки, а a увеличивается на 36 градусов.
    • Если i - нечетное число, то для каждой точки выполняется второй блок кода, где x и y устанавливаются в координаты точки, а a увеличивается на 180 градусов.
  7. После завершения цикла для каждой точки в массиве p выполняется еще один блок кода:
    • Устанавливается цвет кисти и цвета фона в красный.
    • Вызывается функция polygon, которая рисует многоугольник из точек массива p.
  8. Код завершается.

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

13   голосов , оценка 4.154 из 5
Похожие ответы