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

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

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

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

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

textual
Листинг программы
uses graphABC;
var i,d:integer;
begin
setwindowsize(540,460);
centerwindow;
d:=20;
for i:=0 to 28 do
 begin
  line(0,i*d,540,i*d);
  line(i*d,0,i*d,460);
 end;
setpenwidth(3);
moveto(d,13*d);
lineto(3*d,11*d);
lineto(4*d,8*d);
lineto(7*d,6*d);
lineto(11*d,5*d);
lineto(15*d,2*d);
lineto(17*d,3*d);
lineto(21*d,3*d);
lineto(23*d,2*d);
lineto(25*d,4*d);
lineto(25*d,8*d);
lineto(22*d,10*d);
lineto(21*d,8*d);
lineto(21*d,12*d);
lineto(20*d,13*d);
lineto(17*d,13*d);
lineto(17*d,12*d);
lineto(19*d,12*d);
lineto(20*d,11*d);
lineto(18*d,9*d);
lineto(17*d,9*d);
lineto(16*d,8*d);
lineto(15*d,10*d);
lineto(12*d,8*d);
lineto(11*d,5*d);
moveto(d,13*d);
lineto(4*d,11*d);
lineto(5*d,14*d);
lineto(4*d,18*d);
lineto(7*d,18*d);
lineto(7*d,17*d);
lineto(8*d,17*d);
lineto(7*d,13*d);
lineto(12*d,13*d);
lineto(12*d,19*d);
lineto(15*d,19*d);
lineto(15*d,14*d);
lineto(16*d,14*d);
lineto(16*d,15*d);
lineto(15*d,17*d);
lineto(17*d,19*d);
lineto(19*d,15*d);
lineto(19*d,13*d);
setbrushcolor(clBlack);
circle(17*d,6*d,d div 2);
circle(21*d,6*d,d div 2);
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