Нарисовать слона - 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.
Объяснение кода листинга программы
- Используется библиотека graphABC.
- Переменная i и d имеют тип integer.
- Устанавливается размер окна с помощью функции setwindowsize.
- Центр окна выравнивается с помощью функции centerwindow.
- Вычисляется значение переменной d как 20.
- Запускается цикл for, который выполняется 28 раз.
- В каждой итерации цикла рисуется линия с помощью функции line.
- Задаются координаты точек для рисования линий.
- Устанавливается ширина пера с помощью функции setpenwidth.
- Вычисляется координата центра круга с помощью функций moveto и lineto.
- Рисуются два круга с помощью функции circle.
- Устанавливается цвет кисти на черный с помощью функции setbrushcolor.
- Координаты центров кругов вычисляются как среднее арифметическое координат точек, которые определяют контур слона.
- Окружности рисуются с помощью функции circle.
- Конец программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д