@Dazai228

Как оформить подпрограмму?

Здравствуйте! Хотел бы попросить помощь, нужно оформить вычисление площади треугольника по формуле Герона в виде подпрограммы
var 
a,b,c,p,l,f,p1,p2,s1,s2, sum, razn: real;

begin
writeln('a='); readln(a);
writeln('b='); readln(b);
writeln('c='); readln(c);
writeln('p='); readln(p);
writeln('l='); readln(l);
writeln('f='); readln(f);
p1:=(a+b+c)/2;
p2:=(p+l+f)/2;
s1:=sqrt(p1*(p1-a)*(p1-b)*(p1-c));
s2:=sqrt(p2*(p2-p)*(p2-l)*(p2-f));
sum:=s1+s2;
razn:=s1-s2;
writeln('Сумма=', sum);
writeln('Разница= ', razn);
readln;
end.
  • Вопрос задан
  • 71 просмотр
Решения вопроса 1
https://wiki.freepascal.org/Function
В твоём случае можно что-то типа:
program geron;

function triangleArea(const a, b, c: real): real;
var p: real;
begin
 p:=(a+b+c)/2; {периметр}
 triangleArea:=sqrt(p*(p-a)*(p-b)*(p-c)); {площадь}
end;

var a, b, c, s1, s2: real;
begin
 writeln('Стороны первого треугольника:');
 write('a='); readln(a);
 write('b='); readln(b);
 write('c='); readln(c);
 s1 := triangleArea(a, b, c);

 writeln('Стороны второго треугольника:');
 write('a='); readln(a);
 write('b='); readln(b);
 write('c='); readln(c);
 s2 := triangleArea(a, b, c);
 
 writeln('Сумма=', s1+s2:0:5); {5 знаков после запятой}
 writeln('Разность=', s1-s2:0:5);
end.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы