Составители:
Рубрика:
69
[Exit Sub]
[Операторы]
End Sub
Ключевые слова и формат формальных параметров аналогичны описанным
выше.
Пример 2.31. Оформленная в виде процедуры функция расчета зарплаты. В
точку вызова возвращаются новые значения в ячейках, имеющих смысл величины
подоходного налога и рассчитанной зарплаты.
Private Sub Зарплата(ByVal Начислено As Currency, _
ByVal Ставка_налога As Double, _
ByRef Подоходный_налог As Currency, _
ByRef Расчет_Зарплаты As Currency)
'Формальные параметры Подоходный_налог, Расчет_Зарплаты используется
'для возврата результатов в вычислений в вызывающую программу.
Подоходный_налог = Начислено * Ставка_налога
Расчет_Зарплаты = Начислено - Подоходный_налог
End Sub
Пример 2.32. Вызов функции двумя способами. Способ с использованием
ключевого слова Call.
Call Зарплата(Ведомость(j).Начислено_Ведомость, 0.12, _
Ведомость(j).Налог_Ведомость, Ведомость(j).К_выдаче_Ведомость)
Способ вызова просто по имени. Круглые скобки в списке фактических
параметров отсутствуют.
Зарплата Ведомость(j).Начислено_Ведомость, 0.12, _
Ведомость(j).Налог_Ведомость, Ведомость(j).К_выдаче_Ведомость
И в том, и в другом случае результат работы функции будет теми же самым.
КЛАССЫ И ОБЪЕКТЫ
ПОНЯТИЯ КЛАССА И ОБЪЕКТА
Хотя применение функций и процедур существенно упрощает создание
программ (повышает производительность труда программиста), их
использование в сложных программных системах наталкивается на ряд
существенных ограничений. По своей сути обычная функция представляет
собой так называемый автомат без памяти. Это означает, что ее реакция на
входное воздействие однозначно определена в момент разработки и никак не
зависит от текущей ситуации. Как исключение следует отметить функции,
вызываемые с атрибутом Static. Эти функции сохраняют значения своих
переменных от вызова к вызову, нарушая ранее сформулированное правило
времени жизни переменной. Написанная с использованием таких переменных
функция может иметь существенно больший набор реакций на входное
воздействие, поскольку в каждом случае отклик функции зависит не только от
входного воздействия, но и от состояния, в котором функция находилась
момент вызова. В отличие от обычной функции, такая функция представляет
собой так называемый автомат с памятью, а создание подобного рода функций
оказывается куда более сложным делом, поскольку программисту приходиться
предусмотреть практически бесконечное число ситуаций, в
которых можно
ожидать отклик. Исследования в области надежности программирования
показали, что при использовании функций подобного вида вероятность
возникновения ошибки в программе существенно возрастает, в связи с чем во
Страницы
- « первая
- ‹ предыдущая
- …
- 67
- 68
- 69
- 70
- 71
- …
- следующая ›
- последняя »
