Информатика, опубликовано 2018-08-22 19:06:57 by Гость

Найдите ошибку, рисунок должен быть симметричным uses graphABC,crt; VAR t: integer; procedure lin( x,y,a,h: integer); begin t:= a- x; if ( h> 0) then begin line ( x,y,a,y); lin (x+ t div 4,y+ h, a- t div 4, h div 2); lin (x+ t div 4,y- h, a- t div 4, h div 2); end; end; BEGIN lin ( 20, 100, 80,20); END.

Ответ оставил Гость

Uses graphABC;
procedure LineFamily(x, y, a, h: integer);
var
    t: integer;
begin
    t := a - x;
    if (h > 0) then
    begin
        Line(x, y, a, y);
        LineFamily(x + t div 4, y + h, a - t div 4, h div 2);
        LineFamily(x + t div 4, y - h, a - t div 4, h div 2);
    end;
end;

begin
    LineFamily(20, Window.Height div 2, Window.Width - 20, Window.Height div 4);
end.

нечего использовать глобальные перемены в процедуре

Не нашли ответа?
Если вы не нашли ответа на свой вопрос, или сомневаетесь в его правильности, то можете воспользоваться формой ниже и уточнить решение. Или воспользуйтесь формой поиска и найдите похожие ответы по предмету Информатика.

Форма вопроса доступна на полной версии этой страницы.