Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект_11_VBA.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
12.11 Mб
Скачать

Оператор присвоєння

Оператор присвоєння ми вже використовували, коли працювали з вікном діалогу, але не акцентували на цьому. Оператор присвоєння завжди включає знак (=).

Синтаксис:

<Змінна /Константа>= <Вираз>

Щоб виконати оператор присвоєння, необхідно вичислити вираз, який задано в правій частині і присвоїти його значення змінній або константі, які вказані в лівій частині.

Приклад:

х= 2

х = х + 5

В результаті виконання цих двох команд змінній х буде присвоєно значення 7.

Оператор умовного переходу

Оператор умовного переходу надає можливість вибрати і виконати одну з груп інструкцій в залежності від виконання заданих умов.

Оператор умовного переходу буває двох видів:

  • записаний в один рядок

  • блочний

Синтаксис однорядкового оператора:

if <Умова> then [<інструкція>] [Else <Інструкція_else>]

Оператор виконується аналогічно функції “ЕСЛИ” в Excel. Він перевіряє <Умову> (логічний вираз), якщо вона виконується (логічний вираз приймає значення true), то виконується <інструкція>(будь який оператор VBA), в протилежному разі виконується <Інструкція_else>.

Наприклад:

if x<0 then y=cos(x+5)^2 else y= x^3+log(x)

Якщо необхідно перевіряти декілька умов, а також якщо при виконанні умови треба виконувати не одну команду, а цілий блок операторів, то використовується блочний оператор if.

Синтаксис блочного оператора

if <Умова1> then

[<блок операторів 1>]

[elseif <Умова2>]

[<блок операторів 2>]

. . .

[else]

[<блок операторів n>]

end if

Блочний оператор перевіряє <Умову1>, якщо вона виконується то виконується <блок операторів 1>, а далі управління передається на end if і наступний за ним оператор. Якщо ж <Умова1>не виконується, то управління передається на перевірку наступної умови elseif <Умова2>. Далі дії повторюються аналогічно. На [else] управління передається у випадку, коли не виконується жодна з умов, тоді виконується <блок операторів n>.

Наприклад:

  1. if x<0 then

y=cos(x+5)^2

else

y= x^3+log(x)

end if

  1. if x<0 then

y=cos(x+5)^2

elseif (x>1 and x<5 and x<> 2.5) then

y= sin (x+3)

else

y= x^3+log(x)

end if

Приклад розв’язання задачі на розгалуження

Умова задачі: Визначити значення функції W=f(y) в залежності від заданої умови:

Вирішення: Розглянемо умову завдання:

1. для аргументу у <0,5, функція W = y + sin(y);

2. на проміжку y >= 0,5 (включно) до y < 8 , виключаючи значення у=1, функція

W= log(y + y^(1/3));

  1. для всіх значень y >= 8 та для y = 1 функція W не має рішення

Примітка: Функція W записана на мові VB

До складання програми необхідно виконати контрольний приклад, щоб перевірити виконання програми по кожній гілці алгоритму, що має розгалуження. Якщо результати роботи програми співпадають з результатами контрольного прикладу, то програма написана вірно. Для виконання контрольних обрахунків використовується програма Калькулятор та табличний процесор MS Excel.

Контрольний приклад ( Калькулятор ):

1. y=-2, W=-2+sin(-2)=-2,0349 (формула 1)

2. y=0,3 W=0,3+sin(0,3)=0,30523 (формула 1)

3. y=0,8 W=ln(0,8+0,8^(1/3))= 0,5471 (формула 2)

4. y=6 W=ln(6+6^(1/3))= 2,0563 (формула 2)

5. y=1 функція W не має рішення

6. y=10 функція W не має рішення