Напишіть програму в PascalABC"Ялинка" за допомогою GraphABC.
Нижче є приклад малюнку.
Ответы
Ответ:
Вот пример программы на PascalABC, которая использует библиотеку GraphABC для рисования ялинки:
uses GraphABC;
const
BRANCH_LENGTH = 100;
BRANCH_ANGLE = 25;
procedure DrawBranch(x, y, angle, length: integer);
begin
if length < 5 then Exit;
var x2 := x + length * Cos(angle);
var y2 := y - length * Sin(angle);
Line(x, y, x2, y2);
DrawBranch(x2, y2, angle + BRANCH_ANGLE, length - 10);
DrawBranch(x2, y2, angle - BRANCH_ANGLE, length - 10);
end;
begin
SetWindowSize(600, 600);
SetPenColor(clGreen);
SetBrushColor(clGreen);
DrawBranch(300, 600, -90, BRANCH_LENGTH);
end.
Объяснение:
Эта программа рисует ялинку с помощью рекурсивной функции DrawBranch, которая рисует один ветку ялинки и вызывает саму себя для рисования двух дополнительных веток. Длина и угол каждой ветки уменьшаются на определенное значение на каждой итерации. В конце рисуется основная ветка ялинки, которая начинается в центре нижней части окна и направлена вверх.