Создайте еще несколько новых графических процедур, которые бы расширили возможность стандартной библиотеки. - Pascal ABC

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

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

Создайте еще несколько новых графических процедур, которые бы расширили возможность стандартной библиотеки (ромб, параллелограмм, и т.п.) pascalABC

Решение задачи: «Создайте еще несколько новых графических процедур, которые бы расширили возможность стандартной библиотеки.»

textual
Листинг программы
uses graphABC;
//зададим ромб координатами центра и половинами длин диагоналей
procedure romb(x,y,a,b:integer);  //diamond
begin
moveto(x-a,y);
lineto(x,y-b);
lineto(x+a,y);
lineto(x,y+b);
lineto(x-a,y);
end;
//зададим параллелограмм кординатами левой нижней вершины, длинами сторон
// и углом при вешине (x,y) 0<u<180
procedure parallelogramm(x,y,a,b,u:integer);
var x1,y1:integer;
begin
x1:=x+round(b*cos(u*pi/180));
y1:=y-round(b*sin(u*pi/180));
moveto(x,y);
lineto(x1,y1);
lineto(x1+a,y1);
lineto(x+a,y);
lineto(x,y);
end;
begin
romb(100,100,50,80);
parallelogramm(300,150,150,100,100);
end.

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

В данном коде используются две новые графические процедуры: romb и parallelogramm. Процедура romb принимает четыре параметра: x, y, a и b, которые представляют собой координаты центра и половины длин диагоналей ромба. Внутри процедуры происходит вызов функции moveto для перемещения курсора в точку (x-a,y), затем вызовы функций lineto для создания линий между точками (x,y-b), (x+a,y), (x,y+b) и (x-a,y). Процедура parallelogramm также принимает четыре параметра: x, y, a и b, а также переменную u, которая представляет собой угол при вершине параллелограмма. Внутри процедуры происходит вычисление координат левой нижней вершины параллелограмма с помощью формулы (x+acos(upi/180), y-asin(upi/180)). Затем происходит вызов функций moveto, lineto и lineto для создания линий между точками (x,y), (x1,y1), (x1+a,y1) и (x+a,y). В конце кода происходит вызов процедур romb и parallelogramm, которые создают ромб и параллелограмм соответственно.

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


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

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

14   голосов , оценка 3.786 из 5
Похожие ответы