Для двух треугольных пирамид, заданных ребрами, определить, площадь полной поверхности которой из них больше и на сколько.
Составить программу с ветвящейся структурой используя условный оператор if

Ответы

Ответ дал: Аноним
0
// PascalABC.NET 3.2, сборка 1407 от 18.03.2017
// Внимание! Если программа не работает, обновите версию!

function Geron(a,b,c:real):real;
// возвращает площадь треугольника со сторонами a,b,c
begin
  var p:=(a+b+c)/2; // полупериметр
  Result:=sqrt(p*(p-a)*(p-b)*(p-c))
end;

function Sp(ab,bc,ca,ad,bd,cd:real):real;
// возвращает площадь полной поверхности пирамиды
begin
  Result:=Geron(ab,bc,ca)+Geron(ab,ad,bd)+Geron(bc,bd,cd)+
      Geron(ca,cd,ad)
end;

procedure Vvod(var ab,bc,ca,ad,bd,cd:real);
// ввод значений ребер
begin
  Writeln('Введите значения ребер пирамиды');
  Write('Ребра основания- AB,BC,CA: '); Read(ab,bc,ca);
  Write('Боковые ребра- AD,BD,CD: '); Read(ad,bd,cd)
end;

begin
  var ab1,bc1,ca1,ad1,bd1,cd1:real;
  Vvod(ab1,bc1,ca1,ad1,bd1,cd1);
  var Sp1:=Sp(ab1,bc1,ca1,ad1,bd1,cd1);
  var ab2,bc2,ca2,ad2,bd2,cd2:real;
  Vvod(ab2,bc2,ca2,ad2,bd2,cd2);
  var Sp2:=Sp(ab2,bc2,ca2,ad2,bd2,cd2);
  var d:=Sp1-Sp2;
  if d>0 then Writeln('Площадь Sполн 1й пирамиды больше на ',d)
  else
    if d<0 then Writeln('Площадь Sполн 2й пирамиды больше на ',-d)
    else Writeln('Площади Sполн пирамид равны');
end.
Вас заинтересует