Помощь - Поиск - Пользователи - Календарь
Полная версия: Площадь треугольника
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Трейси
Привет всем. Помогите решить задачку huh.gif :
Треугольник задан координатами своих вершин. Составить программу вычисления его площади.(через подпрограмму – функцию)
Заранее спасибо.
Altair
ПО-ЖА-ЛУ-Й-СТА! ;)
Код

var
 x1,y1,x2,y2,x3,y3 :real; {координаты вершин}

function S_tr(x1,y1,x2,y2,x3,y3:real): real;
var
a,b,c: real; {стороны треугольника}
s,p:real;

begin
{модуль вектора=длинне стороны}
a:=sqrt(sqr(x1-x2)+sqr(y1-y2));
b:=sqrt(sqr(x2-x3)+sqr(y2-y3));
c:=sqrt(sqr(x3-x1)+sqr(y3-y1));
{площадь по теореме Герона}
If ((a+b)<c) or ((a+c)<b) or ((c+b)<a) then
begin
 writeln('Error!');
 Halt {завершение программы - ошибка в данных}
end;
p:=(a+b+c)/2; {полупериметр}
S:=sqrt(p*(p-a)*(p-b)*(p-c));
S_tr:=s;
end;

begin
readln(x1,y1,x2,y2,x3,y3);
writeln(s_tr(x1,y1,x2,y2,x3,y3));
readln
end.



я проверил работает.
кодировка кода - win
Трейси
СПАСИБО smile.gif
Guest
Код

function S (x1,y1,x2,y2,x3,y3:real): real;
begin
 S := (x1*(y2-y3) + x2*(y3-y1) + x3*(y1-y2)) / 2
end;
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.