Лекция: Пример 9.3

Используя процедуру tr, вычислить поверхность треугольной пирамиды, если известны длины ее ребер a, b, c, d, e и f.

program example93;

var

a, b, c, d, e, f, s1, s2, s3, s4: real ;

procedure tr (ab, bc, cd: real; var s: real );

var

p: real ;

begin

p:=(ab + bc + cd ) / 2;

s:=sqrt (p * (p — ab) * (p — bc) * (p — cd))

end;

begin

readln (a, b, c, d, e, f);

tr (a, b, c, s1); tr (a, d, e, s2);

tr (b, e, f, s3); tr (c, f, d, s4);

write ('поверхность равна ', s1 + s2 + s3 + s4)

end.

 

В главной программе предусмотрены четыре обращения к процедуре tr (по числу граней пирамиды). Список её формальных параметров состоит из трёх локальных переменных (параметры-значения ab, bc, cd) и одной глобальной (параметр-переменная s).

При первом обращении к процедуре в ячейку s будет записан адрес переменной s1, а в ячейки ab, bc и cd значения переменных a, b и c. Результат выполнения процедуры (площадь треугольника со сторонами a, b и c) будет записан в ячейку s1, адрес которой процедура найдёт в ячейке s.

Таким образом, главная программа получит доступ к результату, вычисленному в процедуре, и использует его в вычислении площади поверхности пирамиды. После выполнения процедуры значения переменных ab, bc и cd будут «забыты».

Остальные обращения к процедуре tr будут выполнены аналогично.

 


еще рефераты
Еще работы по информатике