Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

P : real ;

Begin

p:=(aa + bb + cc) / 2;

s:=sqrt (p * (p - aa) * (p - bb) * (p - cc))

End;

Begin

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

Treug0(a, b, c, s1); treug0(a, d, e, s2);

Treug0(b, e, f, s3); treug0(c, f, d, s4);

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

End.

В главной программе предусмотрены четыре обращения к процедуре treug0 (по числу граней пирамиды). Список её формальных параметров состоит из трёх входных параметров aa,bb, cc и одного выходного – s.

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

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

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

 

 

Функции

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

Для возврата в главную программу вычисленного функцией значения в теле функции необходимо предусмотреть хотя бы один оператор присваивания, в котором слева от символа ’ :=’ ставится имя функции, а справа – выражение, вычисляющее её значение.

Тип значения, вычисляемого функцией, задаётся в её заголовке, имеющем вид

function имя функции (список форм. параметров): тип результата;,

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

function treug1(aa, bb, cc: real): real;

Var

P: real;

Begin

p:=(aa + bb + cc) / 2;

treug1:=sqrt(p * (p - aa) * (p - bb) * (p - cc))

End;

 

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

Пример 5.5. Используя функцию treug1 (пример 5.4), решить задачу, приведённую в примере 5.3 (т.е. вычислить площадь поверхности пирамиды).

 

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

function treug1(aa, bb, cc: real):real;

var p: real;

Begin

p:=(aa + bb + cc) / 2;

treug1:=sqrt (p * (p - aa) * (p - bb) * (p - cc))

End;

Begin

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

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

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

End.

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


Приложение 1


Дата добавления: 2015-07-18; просмотров: 69 | Нарушение авторских прав


Читайте в этой же книге: Ввод числовых данных с клавиатуры | Вывод данных на экран монитора | Пример 3.4 | Условные и составные операторы | Вычисление сумм | K: integer; | Readln (x, eps); | Пример 4.1 | I : integer; | Вводные понятия |
<== предыдущая страница | следующая страница ==>
Treug(1.2, 2.3, 1.5);| Стандартные функции PASCAL

mybiblioteka.su - 2015-2024 год. (0.007 сек.)