Program Primer;. Var a, b, c, s : Real; описание фактических (глобальных) параметров

Uses CRT;

Var a, b, c, s : Real; описание фактических (глобальных) параметров

 

Function Geron(x, y, z : Real):Real; заголовок функции

Var p : Real;

Begin

p := (x + y + z)/2.0;

Geron := Sqrt(p*(p – x)*(p – y)*(p – z));

End; конец функции

 

Begin начало основной (головной) программы

ClrScr;

a := 3.0; инициализация фактических параметров

b := 4.0;

c := 5.0;

s := Geron(a, b, c); обращение к функции с фактическими параметрами a, b, c

WriteLn(‘Площадь треугольника равна ’, s:6:2);

ReadLn;

End.

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

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

Структура функции, как и структура всех программ Паскаля, включает следующие разделы:

описание меток Label,

определение констант Const

определения типов Type

описание переменных Var

описание процедур и функций Function, Procedure

операторы функции Begin … End;

Построение и использование функций подчиняется следующим правилам:

1.имя функции не должно совпадать со служебными словами, именами стандартных функций, именем основной (головной) программы или именами переменных в ней,

2. в программе не должно быть двух функций с одинаковыми именами,

3. формальные и фактические параметры должны совпадать по порядку следования, количеству и типам,

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

5. формальные параметры не должны совпадать по имени:

Function Err(x, y: Word; a, b, y: Real): Real; ошибка!

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

Function Summa(x, y: Real): Real;

Var s : Real;

Begin

s := x + y; эта функция ничего не вычисляет!

End;

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

Function Fact(n: Word): Word; n – формальный параметр

Var i, f : Word; i, f – локальные переменные

Begin эта функция вычисляет факториал

f:=1; заданного числа

For i:=1 To n Do

f := f * i;

Fact := f;

End;

8. если в функции используется цикл с параметром (цикл For), то параметр цикла должен быть описан внутри этой функции, то есть он должен быть обязательно локальной переменной (предыдущий пример),

9. связь вызывающей (головной) программы с функцией может осуществляться как через формальные и фактические, так и через глобальные параметры. Глобальные параметры (переменные) не описываются ни в заголовке функции, ни внутри ее. Они описываются в вызывающей программе и существуют как в ней, так и в любой функции, вызываемой из этой программы. Глобальные переменные могут изменять свои значения как в вызывающей программе, так и внутри функции:








Дата добавления: 2015-08-08; просмотров: 1307;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.007 сек.