Аватар
Информатика, опубликовано 2018-08-22 21:52:49 by Гость

СРОЧНО!!! Заранее, спасибо) напишите функцию, вычисляющую длину отрезка по координатам его концов. С помощью этой функции напишите программу, вычисляющую периметр треугольника по координатам его вершин

Аватар
Ответ оставил Гость

1. Современное короткое, но скорее всего, мало понятное школьнику решение

// PascalABC.NET 3.1, сборка 1213 от 04.04.2016
function LineLen(a,b:(real,real)):=
  Sqrt(Sqr(b.Item1-a.Item1)+Sqr(b.Item2-a.Item2));

begin
  var a:array[1..3] of (real,real);
  var x,y:real;
  Writeln(Введите три пары координат x,y);
  for var i:=1 to 3 do begin Read(x,y); a[i]:=(x,y) end;
  Writeln(Периметр треугольника равен ,LineLen(a[1],a[2])+
    LineLen(a[1],a[3])+LineLen(a[2],a[3]))
end.

Тестовое решение:
Введите три пары координат x,y
3 -3.5 -6 8 4 5.2
Периметр треугольника равен 33.7449685386805

2. Традиционное, но возможно тоже не очень понятное школьнику решение

// PascalABC.NET 3.1, сборка 1213 от 04.04.2016
type
  Point=record
    x,y:real
    end;

function LineLen(a,b:Point):real;
begin
  Result:=Sqrt(Sqr(b.x-a.x)+Sqr(b.y-a.y));
end;
 
var
  a:array[1..3] of Point;
 
begin
  Writeln(Введите три пары координат x,y);
  for var i:=1 to 3 do Read(a[i].x,a[i].y);
  Writeln(Периметр треугольника равен ,LineLen(a[1],a[2])+
    LineLen(a[1],a[3])+LineLen(a[2],a[3]))
end.

Вопрос
Не нашли ответа?
Если вы не нашли ответа на свой вопрос, или сомневаетесь в его правильности, то можете воспользоваться формой ниже и уточнить решение. Или воспользуйтесь формой поиска и найдите похожие ответы по предмету Информатика.