Дано 2 треугольника. Координаты вершин с клавиатуры В программе должно быть

Дано 2 треугольника. Координаты вершин с клавиатуры В программке должно быть 1-ая процедура, 2-ая функция.В процедуре обязано считать стороны треугольников(по формуле нахождение сторон через координаты), всё это должно быть выражено через одну переменную!!! (не знаю в цикле это как то чтобы через одну переменную и по двум точкам обретать все стороны треугольников) в функции периметры треугольников. В программе сумму периметров. Помогите плиз.

Задать свой вопрос
Эвелина Рейзрахманова
Требование "все выразить через одну переменную"неправильно
Боря Бодров
Разве что только сделать эту переменную типа "запись" с подходящей структурой. только кому это надобно?
Kristina Shajdulkina
Наш учитель информатики задал такое не корректное задание
Олег Окша
может вы мне поможете написать по остальным требованием
Батерякова Виолетта
чтото сходственное мы недавно решали
2 ответа
Var
    p: real;
    a1, b1, c1: real;
    a2, b2, c2: real;

function SideLength(a1, a2, b1, b2: real): real;
begin
    SideLength := sqrt(sqr(a1 - b1) + sqr(a2 - b2));
end;

function Perimeter(a1, a2, b1, b2, c1, c2: real): real;
var
    a, b, c: real;
begin
    a := SideLength(a1, a2, b1, b2);
    b := SideLength(c1, c2, b1, b2);
    c := SideLength(a1, a2, c1, c2);
    Perimeter := a + b + c;
end;

begin
    writeln('Первый треугольник.');
    readln(a1, a2, b1, b2, c1, c2);
    p := Perimeter(a1, a2, b1, b2, c1, c2);
    
    writeln('2-ой треугольник.');
    readln(a1, a2, b1, b2, c1, c2);
    
    writeln(p + Perimeter(a1, a2, b1, b2, c1, c2));
end.
Сура Варвара
Извени за мою назойливость но возможно как-то функцию переработать в функцию. в любом случае спасибо.
Лариса Прокофина
не вижу как сделать функцию. не вижу в ней смысла
Мария
я тоже не вижу
Артём Безрукий
но так сказать бесмысленные требования всегда были. За это могут понизить балл.
Jaroslava Stopanovskaja
это так называемая "адекватность"
Ljudmila Putevskaja
но все одинаково спасибо
Семён Тарумов
можно окончательно добавить еще функцию которая к примеру делает вывод длин сторон. это копипаст но превосходнее чем переделка имеющегося
Окончательно, так обычные люди не пишут, но это ради исполненья корявых требований процедуры и функции.

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

function Len(A,B:Point):=sqrt(sqr(B.x-A.x)+sqr(B.y-A.y));

procedure Sides(A,B,C:Point; var la,lb,lc:real);
begin
  la:=Len(B,C); lb:=Len(A,C); lc:=Len(A,B)
end;

function Perim(a,b,c:real):=a+b+c;

begin
  var a,b,c:Point;
  var l1,l2,l3:real;
  for var i:=1 to 2 do begin
    Writeln('Вводите парами координаты каждой  верхушки треугольника;');
    Read(a.x,a.y,b.x,b.y,c.x,c.y);
    Sides(a,b,c,l1,l2,l3);
    Writeln('Периметр треугольника ',Perim(l1,l2,l3))
    end
end.
Кира Агранова
спасибо за ваше терпение
, оставишь ответ?
Имя:*
E-Mail:


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

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

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

Войти на сайт