Програмування алгоритмів розгалужених обчислювальних процесів
1. МЕТА РОБОТИ
Вивчення методики програмування алгоритмів розгалужених обчислювальних процесів. Придбання навиків упорядкування програм із використанням операторів передачі управління різноманітних типів.
2. ЗАВДАННЯ І ПОРЯДОК ВИКОНАННЯ
2.1. Вивчити теоретичний матеріал.
2.2. Скласти схему алгоритму рішення задачі відповідно до варіанта завдання.
2.3. Розробити програму, яка реалізує алгоритм, ввести її в комп’ютер, і отримати рішення задачі.
Теоретичний матеріал
Оператори керування порядком виконання команд
Оператори керування порядком виконання команд застосовуються в наступних прикладах. Вони дозволяють оцінити реальну ситуацію й адекватно реагувати на неї, приймаючи рішення про подальші дії. Visual Basic надає для цього ряд функцій і операторів.
Оператор If...Then.. Else.
Оператор If...Then.. Else – це повний умовний оператор. Його скорочена форма оператор If...Then має наступний синтаксис
If умова Then
оператор
End If
Дія оператора: якщо умова після If істинна, тобто результат дорівнює True, виконується оператор, назначений за Then. Якщо ж результат дорівнює False, то виконується наступний оператор:
If умова Then
Оператор1
Else
Оператор2
End If
Приклад
Private Sub Command1_Click()
a = 6
If a = 7 Then
Print "visual"
Else
Print "basic"
End If
End Sub
Приклад. Упорядкувати числа за спаданням.
Private Sub Command1_Click()
a = Val(Text1.Text)
b = Val(Text2.Text)
c = Val(Text3.Text)
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Max = a
If b > Max Then Max = b
If c > Max Then Max = c
Print Max
Min = a
If b < Min Then Min = b
If c < Min Then Min = c
If a < Max And a > Min Then Print a
If b < Max And b > Min Then Print b
If c < Max And c > Min Then Print c
Print Min
End Sub
Блоковий синтаксис
If умова1 Then
Оператор 1
ElseIf умова2 Then
Оператор 2
Else
Оператор 3
End If
Приклад. Підрахуємо податок залежно від зарплати.
Private Sub Command1_Click()
Dim z, n As Integer
z = Val(Text1.Text)
If z <= 200 Then
n = z * 0.15
ElseIf z >= 200 And z <= 500 Then
n = z * 0.2
Else
n = z * 0.28
End If
Label3.Caption = Str(n)
End Sub
У принципі блоковий запис надає такі ж можливості, як і однорядковий, але якщо в залежності від умови необхідно виконати не просту команду, а групу операторів, варто використовувати блоковий синтаксис. При формуванні більш складних умов блоковий запис зручніший. Використання в цьому випадку блокового синтаксису покращує читабельність програми.
Контрольні запитання.
1. Дія повного умовного оператора?
2. Що таке Блоковий синтаксис ?
3. Коли можна застосовувати скорочену форму умовного оператора?
Завдання для самостійного розв’язку.
1. Введіть три числа, виберіть найбільше;
2. Введіть три числа, виберіть найменше.
3. Обчислити значення функції:
πx2 – 7/x2 при а < 1,3;
y = ах3 + 7 при а = 1,3;
lg(ax+) при a > 1,3.
4. Обчислити площу трикутника з сторонами А, B, С за формулою Герона.
5. Визначити квадрат знаходження точки за заданими координатами.
6. Знайти квадрат найбільшого із трьох чисел A, B, C і куб найменшого з цих чисел.
7. Визначити, чи значення змінних H і M кратні 3. Якщо обидва значення кратні 3, то обчислити їх суму, інакше обчислити їх різницю.
8. Обчислити значення функції:
lg3 a2 + / e x при x < 3;
y = + 1/x при 3 < x < 7;
a Cos2 (аeх) + a Sin2(aex ) при x > 7.
9. Визначити мінімальний елемент із чотирьох Х1, X2, X3, X4 та його номер.
10. Обчислити площі різних геометричних фігур і вивести на друк їх назву.
A B якщо n =1;
A H/2 якщо n =2;
S = (A+B) H/2 якщо n =3;
πR2 якщо n =4;
πR2 φ/360 якщо n =5.
11. Дано три цілих позитивні числа А, В, С. Обчислити значення функції:
e m+A/B при K=0;
y = ln(A+B) при K=1;
при K=2.
12. Обчислити значення функції:
1,5 Cos2 x при x < 1;
1,8 ax при x = 1;
S =
(x-2)2 + 6 при 1< x <2;
3 tg x при x > 5.
13. Упорядкувати три числа X, Y, Z за збільшенням так, щоб змінній A відповідало найменше число, B - середнє, С - найбільше.
ПРАКТИЧНА РОБОТА 3