Из заданных отрезков построить треугольники и определить периметр и площадь каждого треугольника - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Даны длины отрезков a, b, c, d. Для каждой тройки этих отрезков, из которых можно построить треугольник, вычислить периметр и площадь этого треугольника.

Решение задачи: «Из заданных отрезков построить треугольники и определить периметр и площадь каждого треугольника»

textual
Листинг программы
var a,b,c,d: real;
 
function Exist (x,y,z: real): boolean;
begin
Exist:=((y+z-x)>0) and ((x+z-y)>0) and ((x+y-z)>0);
end;
 
function Perimetr (x,y,z: real): real;
begin
Perimetr:=x+y+z;
end;
 
procedure Plo (s: string; x,y,z: real);
var sq: real;
begin
if ((y+z-x)>0) and ((x+z-y)>0) and ((x+y-z)>0) then
   begin
   sq:=0.25*(sqrt((x+y+z)*(y+z-x)*(x+z-y)*(x+y-z)));
   writeln('Площадь треугольника со сторонами ',s,'=',sq:0:3);
   end else writeln('Треугольник со сторонами ',s,' не существует');
end;
 
begin
write('Длина отрезка a: '); readln(a);
write('Длина отрезка b: '); readln(b);
write('Длина отрезка c: '); readln(c);
write('Длина отрезка d: '); readln(d);
if Exist (a,b,c) then writeln('Периметр треугольника ABC=',Perimetr (a,b,c):0:2)
   else writeln('Треугольник со сторонами ABC не существует');
if Exist (a,b,d) then writeln('Периметр треугольника ABD=',Perimetr (a,b,d):0:2)
   else writeln('Треугольник со сторонами ABD не существует');
if Exist (a,c,d) then writeln('Периметр треугольника ACD=',Perimetr (a,c,d):0:2)
   else writeln('Треугольник со сторонами ACD не существует');
if Exist (b,c,d) then writeln('Периметр треугольника BCD=',Perimetr (b,c,d):0:2)
   else writeln('Треугольник со сторонами BCD не существует');
   Plo ('a,b,c',a,b,c);
Plo ('a,b,d',a,b,d);
Plo ('a,c,d',a,c,d);
Plo ('b,c,d',b,c,d);
end.

Объяснение кода листинга программы

  1. Переменные a, b, c, d объявлены как real.
  2. Функция Exist принимает три аргумента real и возвращает boolean. Она проверяет, удовлетворяют ли стороны треугольника условию, заданному в задаче.
  3. Функция Perimetr принимает три аргумента real и возвращает real. Она вычисляет периметр треугольника, используя формулу из задачи.
  4. Процедура Plo принимает один аргумент string и три аргумента real. Она проверяет, существует ли треугольник со сторонами, указанными в строке. Если треугольник существует, она вычисляет его площадь, используя формулу из задачи, и выводит результат на экран. Если треугольник не существует, она выводит сообщение об этом.
  5. В начале программы переменные a, b, c, d объявляются и инициализируются значениями, заданными в задаче.
  6. Затем программа проверяет, существуют ли треугольники со сторонами a, b, c, d, вычисляет их периметры и выводит результаты на экран.
  7. Затем вызывается процедура Plo для треугольников со сторонами a, b, c, a, b, d, a, c, d, b, c, d.
  8. В конце программы происходит выход из программы.

Оцени полезность:

10   голосов , оценка 4.2 из 5
Похожие ответы