нужна помощь с информатикой.Треугольник задан координатами собственных вершин. Программка обязана

Нужна помощь с информатикой.
Треугольник задан координатами собственных вершин. Программа должна вычислить его площадь, используя подпрограмму вычисления расстояния меж 2-мя точками.

Задать свой вопрос
1 ответ
// PascalABC.NET 3.3, сборка 1579 от 18.11.2017
// Внимание! Если программка не работает, обновите версию!

begin
  var d:(real,real,real,real)-gt;real:=
      (x1,y1,x2,y2)-gt;Sqrt(Sqr(x2-x1)+Sqr(y2-y1));
  var (x1,y1):=ReadReal2('Введите координаты 1-й точки:');
  var (x2,y2):=ReadReal2('Введите координаты 2-й точки:');
  var (x3,y3):=ReadReal2('Введите координаты 3-й точки:');
  var a:=d(x1,y1,x2,y2);
  var b:=d(x2,y2,x3,y3);
  var c:=d(x1,y1,x3,y3);
  if (a+bgt;c) and (a+cgt;b) and (b+cgt;a) then begin
    var p:=(a+b+c)/2;
    var s:=Sqrt(p*(p-a)*(p-b)*(p-c));
    Writeln('S = ',s)
    end
  else
    Writeln('Невозможно выстроить треугольник')
end.

Пример
Введите координаты 1-й точки: -2.5 1.6
Введите координаты 2-й точки: 5.2 4
Введите координаты 3-й точки: 1 -1
S = 14.21

Pascal ABC, Free Pascal

var
  x1,y1,x2,y2,x3,y3,a,b,c,p,s:real;

function d(x1,y1,x2,y2:real):real;
begin
  d:=Sqrt(Sqr(x2-x1)+Sqr(y2-y1))
end;

begin
  Write('Введите координаты 1-й точки:'); Read(x1,y1);
  Write('Введите координаты 2-й точки:'); Read(x2,y2);
  Write('Введите координаты 3-й точки:'); Read(x3,y3);
  a:=d(x1,y1,x2,y2);
  b:=d(x2,y2,x3,y3);
  c:=d(x1,y1,x3,y3);
  if (a+bgt;c) and (a+cgt;b) and (b+cgt;a) then begin
    p:=(a+b+c)/2;
    s:=Sqrt(p*(p-a)*(p-b)*(p-c));
    Writeln('S = ',s)
    end
  else
    Writeln('Невероятно выстроить треугольник')
end.

С процедурой:

var
  x1,y1,x2,y2,x3,y3,a,b,c,p,s:real;

procedure d(x1,y1,x2,y2:real; var r:real);
begin
  r:=Sqrt(Sqr(x2-x1)+Sqr(y2-y1))
end;

begin
  Write('Введите координаты 1-й точки:'); Read(x1,y1);
  Write('Введите координаты 2-й точки:'); Read(x2,y2);
  Write('Введите координаты 3-й точки:'); Read(x3,y3);
  d(x1,y1,x2,y2,a);
  d(x2,y2,x3,y3,b);
  d(x1,y1,x3,y3,c);
  if (a+bgt;c) and (a+cgt;b) and (b+cgt;a) then begin
    p:=(a+b+c)/2;
    s:=Sqrt(p*(p-a)*(p-b)*(p-c));
    Writeln('S = ',s)
    end
  else
    Writeln('Невероятно построить треугольник')
end.
Стефания Карашив
А можно еще с процедурой
Астраханский Виктор
Спасибо
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт