Нарисовать слона - Pascal ABC (13174)

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

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

Нужно нарисовать вот такую фигуру и при этом ещё реализовать алгоритм, позволяющий при нажатии клавиш увеличивать и уменьшать изображение. Помогите, пожалуйста.

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

textual
Листинг программы
  1. uses graphABC;
  2. var i,d:integer;
  3. begin
  4. setwindowsize(540,460);
  5. centerwindow;
  6. d:=20;
  7. for i:=0 to 28 do
  8.  begin
  9.   line(0,i*d,540,i*d);
  10.   line(i*d,0,i*d,460);
  11.  end;
  12. setpenwidth(3);
  13. moveto(d,13*d);
  14. lineto(3*d,11*d);
  15. lineto(4*d,8*d);
  16. lineto(7*d,6*d);
  17. lineto(11*d,5*d);
  18. lineto(15*d,2*d);
  19. lineto(17*d,3*d);
  20. lineto(21*d,3*d);
  21. lineto(23*d,2*d);
  22. lineto(25*d,4*d);
  23. lineto(25*d,8*d);
  24. lineto(22*d,10*d);
  25. lineto(21*d,8*d);
  26. lineto(21*d,12*d);
  27. lineto(20*d,13*d);
  28. lineto(17*d,13*d);
  29. lineto(17*d,12*d);
  30. lineto(19*d,12*d);
  31. lineto(20*d,11*d);
  32. lineto(18*d,9*d);
  33. lineto(17*d,9*d);
  34. lineto(16*d,8*d);
  35. lineto(15*d,10*d);
  36. lineto(12*d,8*d);
  37. lineto(11*d,5*d);
  38. moveto(d,13*d);
  39. lineto(4*d,11*d);
  40. lineto(5*d,14*d);
  41. lineto(4*d,18*d);
  42. lineto(7*d,18*d);
  43. lineto(7*d,17*d);
  44. lineto(8*d,17*d);
  45. lineto(7*d,13*d);
  46. lineto(12*d,13*d);
  47. lineto(12*d,19*d);
  48. lineto(15*d,19*d);
  49. lineto(15*d,14*d);
  50. lineto(16*d,14*d);
  51. lineto(16*d,15*d);
  52. lineto(15*d,17*d);
  53. lineto(17*d,19*d);
  54. lineto(19*d,15*d);
  55. lineto(19*d,13*d);
  56. setbrushcolor(clBlack);
  57. circle(17*d,6*d,d div 2);
  58. circle(21*d,6*d,d div 2);
  59. end.

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

  1. Используется библиотека graphABC.
  2. Переменная i и d имеют тип integer.
  3. Устанавливается размер окна с помощью функции setwindowsize.
  4. Центр окна выравнивается с помощью функции centerwindow.
  5. Вычисляется значение переменной d как 20.
  6. Запускается цикл for, который выполняется 28 раз.
  7. В каждой итерации цикла рисуется линия с помощью функции line.
  8. Задаются координаты точек для рисования линий.
  9. Устанавливается ширина пера с помощью функции setpenwidth.
  10. Вычисляется координата центра круга с помощью функций moveto и lineto.
  11. Рисуются два круга с помощью функции circle.
  12. Устанавливается цвет кисти на черный с помощью функции setbrushcolor.
  13. Координаты центров кругов вычисляются как среднее арифметическое координат точек, которые определяют контур слона.
  14. Окружности рисуются с помощью функции circle.
  15. Конец программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

6   голосов , оценка 4.667 из 5

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

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

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