Демидова л. а., Пылькин а. Н. Программирование в среде Visual Basic for Applications стр.37
Демидова л. а., Пылькин а. Н. Программирование в среде Visual Basic for Applications стр.37

Возвращаемое значение=Объект.метод

• Методы, комбинирующие первые два типа, т. е. требующие параметров и возвращающие значение. В этом случае используется синтаксис:

Возвращаемое значение=Объект.метод параметра параметр2,параметр п

Например, в следующем примере метод RetrieveValue возвращает в переменную MyValue значение, находящееся в 3-й строке и 7-м столбце файла MyFile.

Dim MyValue As Integer

MyValue=MyFile.RetrieveValue 3,7 x значение, находящееся

x в 3-й строке и х 7-м столбце файла х MyFile.

10. Операторы цикла

10.1. Оператор цикла For-Next

Для многократного выполнения одного оператора или блока операторов служит оператор цикла For-Next.

Оператор цикла For-Next имеет следующий синтаксис:

For СЧЕТЧИК = НАЧАЛЬН0Е_ЗНАЧЕНИЕ То

К0НЕЧН0Е_ЗНАЧЕНИЕ Step ШАГ

БЛ0К_0ПЕРАТ0Р0В

[Exit For]

БЛ0К_0ПЕРАТ0Р0В Next СЧЕТЧИК

Цикл For-Next обеспечивает многократное выполнение блока операторов при последовательном изменении счетчика от начального до конечного значения с указанным шагом изменения. Если Step (Шаг) в конструкции отсутствует, то по умолчанию считается, что шаг равен единице. По оператору Exit For можно выйти из оператора цикла до того, как СЧЕТЧИК достигнет последнего значения.

Рассмотрим использование оператора цикла For-Next на примере построения функции пользователя, вычисляющей разность между текущим объемом вклада и размером ссуды при постоянной годовой процентной ставке и неравномерных платежах, т. е. функции пользователя, вычисляемой по следующей формуле ([2]):

где Р(1) и d(\) - размер и дата выдачи ссуды, причем Р(1) берется со знаком минус; Р (j), d(j) - размер и дата j-й выплаты; п - I- число выплат; / - годовая процентная ставка.

Option Explicit Option Base 1

Function Доход(процент As Double, _

платеж As Variant, _ год As Variant) As Double

66 Программирование в среде Visual Basic for Applications

Dim i, j, n As Integer, s As Double n - платеж.Rows.Count s = 0

For i = 1 To n

s = s + платеж (i) / _

(1 + процент)Л((год(1) - год(1))/365) Next i Доход = s End Function

Решим с помощью функции Доход следующую задачу. Предположим, что 11.01.97 у вас берут в долг 10 ООО руб. и предлагают вернуть; 20.12.97 - 2 ООО руб., 18.10.98- 4 ООО руб., 12.04.99-7 000 руб. Имеет ли смысл эта сделка при годовой ставке 10 %?


⇐ Предыдущая Следующая ⇒
 
 
 
Powered by Exponenta