Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Пример 9.4. Вычисление площади треугольника (см



Вычисление площади треугольника (см. пример 9.2) оформить в виде функции.

function tr1(ab, bc, ca: real): real;

var

p: real;

begin

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

tr1:=sqrt(p * (p - ab) * (p - bc) * (p - ca))

end;

 
 


Обращение к функции аналогично обращению к процедуре, но самостоятельным оператором не является. В качестве операторов вызова функции используют операторы, содержащие выражения, например, оператор присваивания, условный оператор или процедуру вывода. При этом обращение к функции должно входить в выражение в качестве его операнда.

 
 


Пример 9.5

Используя функцию tr1 (пример 9.4), решить задачу, приведённую в примере 9.3.

program example95;

var

a, b, c, d, e, f, s: real;

function tr1(ab, bc, ca: real):real;

var

p: real;

begin

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

tr1:=sqrt (p * (p - ab) * (p - bc) * (p - ca))

end;

begin

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

s:=tr1 (a, b, c) + tr1 (a, d, e) + tr1(b, e, f) + tr1(c, f, d);

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

end.

Оператором вызова служит оператор присваивания. Операндами его арифметического выражения являются четыре обращения к функции.

 
 


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

В такой ситуации возрастает вероятность появления трудноуловимых ошибок. Поэтому опытные программисты рекомендуют всюду, где это возможно, в качестве формальных параметров использовать параметры-значения.





Дата публикования: 2015-01-24; Прочитано: 189 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.005 с)...