Составители:
Рубрика:
67
операций и операторов с той лишь оговоркой, что свое конкретное значение они
получат только в момент вызова.
Результатом работы функции является некое значение, например число,
которое вычисляется в теле функции. Возвращаемое значение должно иметь
некий тип, указанный в заголовке функции как As Тип, соответствующий типу
возвращаемого функцией значения. Для указания того, что все-таки является
результатом и должно быть возвращено в вызывающую программу, в
определении функции записывается оператор присваивания, в левой части
которого указывается Имя функции (из ее заголовка), а в правой действия,
обеспечивающие расчет возвращаемого значения.
Пример 2.27. Функция, предназначенная для расчета абсолютной величины
подоходного налога, уплачиваемого с конкретной суммы по заданной процентной
ставке.
Private Function Подоходный_налог(Начислено As Currency, Ставка_налога _
As Double) As Currency
Подоходный_налог = Начислено * Ставка_налога ' Возвращаемое значение
End Function
Формальные параметры Начислено, Ставка_налога используются в теле функции
для указания последовательности действий, которая заключается в вычислении
их произведения.
ВОЗВРАТ ЗНАЧЕНИЙ В ВЫЗЫВАЮЩУЮ ПРОГРАММУ
ЧЕРЕЗ СПИСОК ФОРМАЛЬНЫХ ПАРАМЕТРОВ
Созданная нами функция может быть многократно вызвана из других
модулей программы. Каждый раз при вызове на место формальных параметров
функции мы подставляем имена фактических ячеек модуля, из которого
производится вызов. Манипулируя данными, процессор возьмет конкретные
значения, содержащиеся в ячейках вызывающего модуля, рассчитает результат
и вернет его в указанную ей ячейку, также существующую в вызывающем
модуле.
Пример 2.28. Модернизация фрагмента программы из примера 2.19 в части
расчета налогов на основе использования созданной функции из примера 2.27.
'Расчет налогов
Ведомость(j).Налог_Ведомость = _
Подоходный_налог(Ведомость(j).Начислено_Ведомость, _0.12)
'Расчет суммы к выдаче
Рассчитанная величина налога оператором присваивания записывается в
элемент структуры. В правой части оператора присваивания стоит вызов функции
Подоходный_налог
с фактическими параметрами, которыми является элемент
структуры Ведомость(j).Начислено_Ведомость и константа. Эти параметры являются
фактическими потому, что в свое время для хранения этих данных должны были
зарезервированы ячейки памяти и в них были записаны конкретные значения
(смотри, в частности, пример 2.18).
Встречаются задачи, в которых в точку вызова необходимо возвращать
не одно, а несколько значений. По смыслу рассмотренного нами примера 2.27,
кроме величины исчисляемого подоходного налога целесообразно вычислять
еще сумму к выдаче. Поскольку функция может вернуть в вызывающую
программу через оператор присваивания только одно значение, похожие задачи
приходится решать способом, основанном на передаче данных через список
формальных параметров по ссылке.
Страницы
- « первая
- ‹ предыдущая
- …
- 65
- 66
- 67
- 68
- 69
- …
- следующая ›
- последняя »
