Блок операторов, предназначенный для многократного выполнения в разных точках программы, целесообразно оформить как процедуру. При этом блок записывается один раз и ему присваивается имя с параметрами (формальными). Эта запись блока операторов называется описанием процедуры.
. В общем случае процедура имеет:
· входные параметры, которые считаются заданными;
· выходные параметры, рассчитываемые в ходе выполнения блока операторов.
После того, как произведено описание процедуры, в программу помещаются обращения к этой процедуре с нужными параметрами (фактическими). Эти обращения помещаются в те точки программы, в которых по смыслу должен присутствовать блок операторов, оформленный как процедура.
Процедуры делятся на функции и подпрограммы. Функции можно использовать в арифметических и логических выражениях и строках (т. к. функция принимает значение); подпрограммы в выражениях и строках использовать нельзя. В этом состоит основное отличие функций от подпрограмм.
|
|
Описание пользовательской функции имеет следующий синтаксис:
Function название (формальные_параметры) [As тип ]
Операторы
……………
End Function
где название - имя функции; формальные_параметры – имена параметров, перечисленные через запятую; тип - тип значения функции; операторы - блок операторов.
В блоке операторы обязательно должен присутствовать хотя бы один оператор присваивания, в левой части которого (слева от знака присваивания =) находится имя функции название.
Обращение к функции (находящееся в программе) имеет вид:
Название (фактические_ параметры)
где фактические_параметры - массивы, переменные, константы, числа и/или строки, перечисленные через запятую.
В результате обращения к функции название в программу возвращается значение этой функции, соответствующее заданным параметрам.
Sub Program1 ()
Dim L Аs Long
Dim W Аs Double
L = Fact(12)
W = 4.2 + Fact(10) / 2
End Sub
Function Fact(N) Аs Long
Dim I Аs Byte
Dim J Аs Long
J = 1
For I = 1 То N
J = J * I
Next I
Fact = J