Треугольник задан координатами его вершин. Вычислить периметр, площадь треугольника - PascalABC.NET
Формулировка задачи:
Собственно вот сама задача:
Треугольник задан координатами его вершин. Вычислить периметр, площадь треугольника. Вычисление длин сторон оформить в виде процедуры
А вот то решение, которое у меня получилось:
Но что-то неверно, потому что площадь и периметр равен 0 всегда
Помогите, пожалуйста, исправить ошибку
Решение задачи: «Треугольник задан координатами его вершин. Вычислить периметр, площадь треугольника»
textual
Листинг программы
procedure dlina(a,b,z,w:integer;var d:real); begin d:=sqrt(sqr(a-b)+sqr(z+w)); end; procedure plosh (a,b,c:real;var S:real); var p:real; begin p:=(a+b+c)/2; S:=sqrt(p*(p-a)*(p-b)*(p-c)); end; Var x1,y1,x2,y2,x3,y3: Integer; a,b,c,p,s: Real; BEGIN Writeln('Введите координаты 1 вершины: '); Readln(x1,y1); Writeln('Введите координаты 2 вершины: '); Readln(x2,y2); Writeln('Введите координаты 3 вершины: '); Readln(x3,y3); dlina(x1,y1,x2,y2,a); dlina(x2,y2,x3,y3,b); dlina(x3,y3,x1,y1,c); p:=a+b+c; plosh(a,b,c,s); Writeln('Периметр: ',p:0:2); Writeln('Площадь: ',s:0:2); Readln END.
Объяснение кода листинга программы
- Вводятся координаты вершин треугольника.
- Вычисляются длины сторон треугольника по формуле расстояния между двумя точками в декартовой системе координат.
- Вычисляется полупериметр треугольника как сумма длин всех сторон, делённая на 2.
- Вычисляется площадь треугольника по формуле Герона.
- Выводится на экран периметр треугольника.
- Выводится на экран площадь треугольника.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д