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

Treug(1.2, 2.3, 1.5);

В первом случае фактическими параметрами, задающими длины сторон треугольника, являются имена переменных, а во втором – константы.

Формальные параметры используются при описании процедуры. Формальными параметрами могут быть только имена переменных. Они располагаются в заголовке процедуры, вид которого

Procedure имя процедуры (список формальных параметров);

Формальные параметры являются как бы двойниками фактических параметров и выполняют две функции:

1) на этапе разработки процедуры с их помощью показывают, как процедура обрабатывает исходные данные, т.е. они наряду с другими переменными используются для описания алгоритма, который выполняет процедура;

2) во время обращения к процедуре каждый её формальный параметр принимает значение фактического; именно поэтому списки формальных и фактических параметров должны быть согласованы по количеству элементов, порядку их следования и типу.

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

Формальные параметры процедуры делятся на входные и выходные.

Входные параметры могут принимать значения фактических параметров, изменять их в ходе выполнения процедуры нельзя. Их описание в заголовке процедуры выглядит так:

имя1, имя2,...: тип 1; имя3, имя4,...: тип 2;...

Для каждого входного формального параметра резервируется память ЭВМ, в которую при вызове процедуры копируется значение соответствующего фактического параметра, после чего всякая связь между фактическими и формальными параметрами обрывается. Если фактическим параметром является выражение, то оно предварительно вычисляется.

Далее эти копии обрабатываются процедурой, причем фактические параметры будут существовать только в течение времени ее выполнения.

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

Var

a, b, c: real;

procedure treug (aa, bb, cc: real);

var p, s: real;

Begin

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

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

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

End;

Begin

Readln (a, b, c);

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

End.

 

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

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

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

var имя1, имя2,...: тип параметров;

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

Var

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

procedure treug0 (aa, bb, cb: real; var s: real);

Var


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


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

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