Оператори переходу. Програмування розгалужуваних
обчислювальних процесів 1) Оператор If... Then Для зміни природного ходу виконання програми використовуються умовні оператори із застосуванням як однорядкового синтаксису If умова Then оператор так і блокового синтаксису If умова Then Блок операторів End If Тут і далі умова - логічний вираз. Якщо значення умови true, то виконується Блок операторів, у протилежному випадку управління передається операторові, який знаходиться за End if. Приклад 1. Дані три числа: a, b, c. Від’ємні числа замінити їхніми квадратами, позитивні залишити без зміни. Sub Разв1() Dim a As Single, b As Single, c As Single a = Val (InputBox("Введіть значення а")) b = Val (InputBox("Введіть значення b")) c = Val (InputBox("Введіть значення c")) If a < 0 then a=a^2 If b < 0 then b=b^2 If c < 0 then c=c^2 MsgBox “a=” & a & “ b=” & b & “ c=” & c End Sub 2) Оператор If...Then...Else. Синтаксис оператора: If умова Then Блок операторів для значення true Else Блок операторів для значення false End If Приклад 2. Знайти розмір комісійних залежно від суми продажів за наступними правилами: якщо сума продажів (s) більше 15000, то комісійні (c) установлюються на рівні 8 відсотків. У протилежному випадку - 5 відсотків Sub Sales1() Dim s As Single, c As Single s = Val(InputBox("Введіть суму продажів")) If s > 15000 Then c = 0.08*s Else c = 0.05*s MsgBox "Комісійні=" & c End Sub Тепер приведемо програму для цього ж прикладу з використанням багаторядкового синтаксису оператора if. Sub Sales2() Dim s As Single, c As Single s = Val(InputBox("Введіть суму продажів")) If s > 15000 Then c = 0.08*s Else c = 0.05*s End If MsgBox "Комісійні=" & c End Sub 4) Оператор безумовного переходу GoTo Оператор GoTo дозволяє виконати безумовний перехід до заданого рядка. Його синтаксис:
GoTo Мітка Мітка (ціле число або ім'я змінної) з двома крапками, яка ставиться перед рядком, до якого здійснюється перехід. Кількість міток не обмежена, але кожна повинна бути унікальної. Приведемо наступний фрагмент програми (тут міткою служить NN): MsgBox "Даний оператор виконується" GoTo NN Msgbox "Даний оператор пропускається" NN: Msgbox "Тепер можна продовжувати" 2.12. Оператори циклу. Програмування циклічних обчислювальних процесів 1) Оператор Do...Loop Цей оператор має чотири варіанти синтаксису: а) Do While умова Блок операторів Loop Якщо умова має значення True, виконуються Блок операторів до Loop. Потім управління повертається до Do While і знову перевіряється умова. Якщо умова, як і раніше, має значення True, процес повторюється. Якщо умова має значення False, виконання відновляється з операторів, що знаходяться за Loop. Цикли Do While... Loop можуть мати будь-яку глибину вкладеності. б) Do Until умова Блок операторів Loop
Перед циклом перевіряється умова. Блок операторів виконується тільки в тому випадку, якщо значення умови дорівнює False. в) Do Блок операторів Loop While умова Параметр умова перевіряється після однократного проходження циклу. Блок операторів виконується тільки в тому випадку, якщо умова - True. Така форма оператора Do…Loop використовується в тих випадках, коли виконання блоку команд необхідне як мінімум один раз. г) Do Блок операторів Loop Until умова Параметр умова перевіряється після однократного проходження циклу. Блок операторів виконується тільки в тому випадку, якщо умова - False. Така форма оператора Do…Loop використовується в тих випадках, коли виконання блоку команд необхідне як мінімум один раз. Приклад 1. Скласти програму табулювання функції y= , де xÎ[x0, xk] і змінюється із кроком h.
|