Вычисление периметра и площади четырехугольника по координатам его четырех точек - Pascal ABC
Формулировка задачи:
Написать программу рисования на экране и вычисления
периметра и площади четырехугольника по координатам его четырех точек с
использованием функций Pifagor, LengthLine и Geron
Решение задачи: «Вычисление периметра и площади четырехугольника по координатам его четырех точек»
textual
Листинг программы
uses Crt,graphABC; function Pifagor(a,b:integer):integer; begin Pifagor:=a*a+b*b; end; function LengthLine(x1,y1,x2,y2:integer):real; begin LengthLine:=sqrt(Pifagor(x1-x2,y1-y2)); end; function Geron(x1,y1,x2,y2,x3,y3:integer):real; var a,b,c,p:real; begin a:=LengthLine(x1,y1,x2,y2); b:=LengthLine(x2,y2,x3,y3); c:=LengthLine(x3,y3,x1,y1); p:=(a+b+c)/2; Geron:=sqrt(p*(p-a)*(p-b)*(p-c)); end; var x1,y1,x2,y2,x3,y3,x4,y4:integer; p,s:real; begin writeln('Введите координаты вершин четырехугольника в порядке обхода от 10 до 400'); readln(x1,y1,x2,y2,x3,y3,x4,y4); p:=LengthLine(x1,y1,x2,y2)+LengthLine(x2,y2,x3,y3)+ LengthLine(x3,y3,x4,y4)+LengthLine(x4,y4,x1,y1); s:=Geron(x1,y1,x2,y2,x3,y3)+Geron(x1,y1,x3,y3,x4,y4); hidecursor; setwindowsize(500,500); centerwindow; clearwindow; setpencolor(clBlue); setpenwidth(3); moveto(x1,y1); lineto(x2,y2); lineto(x3,y3); lineto(x4,y4); lineto(x1,y1); textout(200,460,'Площадь='+inttostr(round(s))); textout(200,480,'Периметр='+inttostr(round(p))); end.
Объяснение кода листинга программы
- Подключаются необходимые библиотеки Crt и graphABC.
- Определяются функции Pifagor, LengthLine и Geron.
- Задаются переменные x1, y1, x2, y2, x3, y3, x4, y4 для хранения координат вершин четырехугольника.
- Считываются координаты вершин четырехугольника в порядке обхода от 10 до 400.
- Вычисляется периметр четырехугольника путем сложения длин всех его сторон, полученных с помощью функции LengthLine.
- Вычисляется площадь четырехугольника путем вызова функции Geron дважды и вычисления суммы полученных площадей.
- Выводится площадь и периметр четырехугольника на экран.