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

Используя процедуру, вычислить площадь треугольника со сторонами a, b и c. Для решения задачи воспользоваться формулой Герона s = (p*(p‑a)*(p-b)*(p-c))1/2, где p — полупериметр треугольника.

Алгоритм главной программы

 
 

 

 


Алгоритм подпрограммы

 

 
 

 

 


 

 

program example92;

var

a, b, c: real ;

procedure tr (ab, bc, ca: real );

var p, s: real;

begin

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

s := sqrt (p * (p — ab) * (p — bc) * (p — ca));

writeln ('s= ', s:6:2)

end;

begin

readln (a, b, c);

tr (a, b, c); { оператор вызова процедуры }

end.

 

Глобальные переменные a, b и c, описанные в главной программе, используются в операторе вызова процедуры в качестве входных фактических параметров.

Они согласуются с формальными параметрами ab, bc и ca процедуры по числу, типу и взаиморасположению в своих списках.

Следовательно, при вызове процедуры её формальный параметр ab примет значение фактического параметра a, параметр bc значение параметра b, а параметр ca значение параметра c.

Как формальные параметры-значения, так и переменные p и s, описанные в разделе var процедуры, являются локальными переменными и главной программе недоступны. Поэтому вывод результата счёта-переменной s предусмотрен не в главной программе, а в процедуре.

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

 
 

 


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