Приклад лінійної програми. Обчислити площу трапеції за формулою S= , де a,b - основи, h - висота.
Sub Трапеція()
Dim a As Single, b As Single, h As Single, s As Single
a = Val (InputBox("Введіть значення а"))
b = Val (InputBox("Введіть значення b"))
h = Val (InputBox("Введіть значення h"))
s = (a + b) * h / 2
MsgBox "Площа трапеції = " & s
End Sub
Після запуску програми потрібно ввести значення a,b,h і на екрані з'явиться результат обчислення у вікні виду (рис.2.3.).
Рис.2.3 - Вікно функції MsgBox
Оператори переходу. Програмування розгалужуваних
Обчислювальних процесів
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()