Нарисовать кота и цветок - Pascal ABC

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

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

Напишите программу с рисунком в Pascal ABC любым из 2 задания.

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

textual
Листинг программы
uses graphABC;
const n=27;
      m=22;
type point=record
           x,y:integer;
           end;
var c,d,i:integer;
    p:array[1..4]of point;
begin
d:=20;
setwindowsize(n*d,m*d);
centerwindow;
setpencolor(clOlive);
for i:=1 to n do
 begin
  if i<=m then line(0,(i-1)*d,n*d,(i-1)*d);
  line((i-1)*d,0,(i-1)*d,n*d);
 end;
setpencolor(clGray);
setbrushcolor(clGray);
for i:=1 to 3 do
rectangle((5-i)*d,(15+i)*d,(n-5+i)*d,(16+i)*d);
c:=7*d;
for i:=1 to 5 do
 begin
  rectangle(c,8*d,c+d,16*d);
  c:=c+3*d;
 end;
setpencolor(clBlack);
setbrushcolor(clBlack);
c:=7*d+d div 2;
for i:=1 to 5 do
 begin
  ellipse(c-d,8*d,c+d,9*d);
  c:=c+3*d;
 end;
setpencolor(clMedGray);
setbrushcolor(clMedGray);
p[1].x:=4*d; p[1].y:=8*d;
p[2].x:=27*d div 2; p[2].y:=3*d;
p[3].x:=23*d; p[3].y:=8*d;
p[4]:=p[1];
polygon(p,4);
setpencolor(clGray);
setbrushcolor(clGray);
p[1].x:=7*d; p[1].y:=7*d;
p[2].x:=27*d div 2; p[2].y:=4*d;
p[3].x:=20*d; p[3].y:=7*d;
p[4]:=p[1];
polygon(p,4);
setpencolor(clBlack);
setbrushcolor(clBlack);
circle(27*d div 2,11*d div 2,d);
end.

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

  1. Используется библиотека graphABC.
  2. Задаются константы n и m.
  3. Создается тип point, представляющий точку с координатами x и y.
  4. Создается переменная c, равная 20 d.
  5. Создается переменная d, равная 20.
  6. Создается массив p, состоящий из 4 точек.
  7. Устанавливается размер окна на n*d, где n - 27, а d - 20.
  8. Устанавливается цвет пера на clOlive.
  9. Запускается цикл for, который выполняется n раз.
  10. В каждой итерации цикла проверяется условие i <= m. Если оно истинно, то рисуется линия от (0,(i-1)d) до (nd,(i-1)*d).
  11. Затем рисуется линия от ((i-1)d,0) до ((i-1)d,n*d).
  12. Устанавливается цвет пера на clGray.
  13. Запускается цикл for, который выполняется 3 раза.
  14. В каждой итерации цикла рисуется прямоугольник с размерами (5-i)d, (15+i)d, (n-5+i)d, (16+i)d.
  15. Затем устанавливается цвет пера на clBlack.
  16. Запускается цикл for, который выполняется 5 раз.
  17. В каждой итерации цикла рисуется эллипс с центром в точке c-d, диаметром d, и радиусом d.
  18. Затем устанавливается цвет пера на clMedGray.
  19. Запускается цикл for, который выполняется 4 раза.
  20. В каждой итерации цикла копируется точка из массива p в переменную c.
  21. Рисуется полигон с четырьмя вершинами, представленными точками из массива p.
  22. Устанавливается цвет пера на clGray.
  23. Запускается цикл for, который выполняется 4 раза.
  24. В каждой итерации цикла копируется точка из массива p в переменную c.
  25. Рисуется полигон с четырьмя вершинами, представленными точками из массива p.
  26. Устанавливается цвет пера на clBlack.
  27. Запускается цикл for, который выполняется 1 раз.
  28. В каждой итерации цикла рисуется окружность с центром в точке (27d div 2,11d div 2) и радиусом d.

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

14   голосов , оценка 4.214 из 5