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

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

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

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

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

textual
Листинг программы
  1. uses graphABC;
  2. const n=27;
  3.       m=22;
  4. type point=record
  5.            x,y:integer;
  6.            end;
  7. var c,d,i:integer;
  8.     p:array[1..4]of point;
  9. begin
  10. d:=20;
  11. setwindowsize(n*d,m*d);
  12. centerwindow;
  13. setpencolor(clOlive);
  14. for i:=1 to n do
  15.  begin
  16.   if i<=m then line(0,(i-1)*d,n*d,(i-1)*d);
  17.   line((i-1)*d,0,(i-1)*d,n*d);
  18.  end;
  19. setpencolor(clGray);
  20. setbrushcolor(clGray);
  21. for i:=1 to 3 do
  22. rectangle((5-i)*d,(15+i)*d,(n-5+i)*d,(16+i)*d);
  23. c:=7*d;
  24. for i:=1 to 5 do
  25.  begin
  26.   rectangle(c,8*d,c+d,16*d);
  27.   c:=c+3*d;
  28.  end;
  29. setpencolor(clBlack);
  30. setbrushcolor(clBlack);
  31. c:=7*d+d div 2;
  32. for i:=1 to 5 do
  33.  begin
  34.   ellipse(c-d,8*d,c+d,9*d);
  35.   c:=c+3*d;
  36.  end;
  37. setpencolor(clMedGray);
  38. setbrushcolor(clMedGray);
  39. p[1].x:=4*d; p[1].y:=8*d;
  40. p[2].x:=27*d div 2; p[2].y:=3*d;
  41. p[3].x:=23*d; p[3].y:=8*d;
  42. p[4]:=p[1];
  43. polygon(p,4);
  44. setpencolor(clGray);
  45. setbrushcolor(clGray);
  46. p[1].x:=7*d; p[1].y:=7*d;
  47. p[2].x:=27*d div 2; p[2].y:=4*d;
  48. p[3].x:=20*d; p[3].y:=7*d;
  49. p[4]:=p[1];
  50. polygon(p,4);
  51. setpencolor(clBlack);
  52. setbrushcolor(clBlack);
  53. circle(27*d div 2,11*d div 2,d);
  54. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут