Нарисовать кота и цветок - 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.
Объяснение кода листинга программы
- Используется библиотека graphABC.
- Задаются константы n и m.
- Создается тип point, представляющий точку с координатами x и y.
- Создается переменная c, равная 20 d.
- Создается переменная d, равная 20.
- Создается массив p, состоящий из 4 точек.
- Устанавливается размер окна на n*d, где n - 27, а d - 20.
- Устанавливается цвет пера на clOlive.
- Запускается цикл for, который выполняется n раз.
- В каждой итерации цикла проверяется условие i <= m. Если оно истинно, то рисуется линия от (0,(i-1)d) до (nd,(i-1)*d).
- Затем рисуется линия от ((i-1)d,0) до ((i-1)d,n*d).
- Устанавливается цвет пера на clGray.
- Запускается цикл for, который выполняется 3 раза.
- В каждой итерации цикла рисуется прямоугольник с размерами (5-i)d, (15+i)d, (n-5+i)d, (16+i)d.
- Затем устанавливается цвет пера на clBlack.
- Запускается цикл for, который выполняется 5 раз.
- В каждой итерации цикла рисуется эллипс с центром в точке c-d, диаметром d, и радиусом d.
- Затем устанавливается цвет пера на clMedGray.
- Запускается цикл for, который выполняется 4 раза.
- В каждой итерации цикла копируется точка из массива p в переменную c.
- Рисуется полигон с четырьмя вершинами, представленными точками из массива p.
- Устанавливается цвет пера на clGray.
- Запускается цикл for, который выполняется 4 раза.
- В каждой итерации цикла копируется точка из массива p в переменную c.
- Рисуется полигон с четырьмя вершинами, представленными точками из массива p.
- Устанавливается цвет пера на clBlack.
- Запускается цикл for, который выполняется 1 раз.
- В каждой итерации цикла рисуется окружность с центром в точке (27d div 2,11d div 2) и радиусом d.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д