ПРАКТИЧНА РОБОТА З
ПРОГРАМУВАННЯ АЛГОРИТМІВ РОЗГАЛУЖЕНИХ ОБЧИСЛЮВАЛЬНИХ ПРОЦЕСІВ
1. МЕТА РОБОТИ
Вивчення методики програмування алгоритмів розгалужених обчислювальних процесів. Придбання навиків упорядкування програм із використанням операторів передачі управління різноманітних типів.
2. ЗАВДАННЯ І ПОРЯДОК ВИКОНАННЯ
2.1. Вивчити теоретичний матеріал.
2.2. Скласти схему алгоритму рішення задачі відповідно до варіанта завдання.
2.3. Розробити програму, яка реалізує алгоритм, ввести її в комп’ютер, і отриматирішення задачі.
Теоретичний матеріал.
Оператори керування порядком виконання команд
Оператори керування порядком виконання команд застосовуються в наступних прикладах. Вони дозволяють оцінити реальну ситуацію й адекватно реагувати на неї, приймаючи рішення про подальші дії. GAMBAS та 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
Блоковий синтаксис:
If умова1 Then
Оператор 1
ElseIf умова2 Then Оператор 2
Else
Оператор 3
End If
Приклад. Підрахуємо податок залежно від зарплати.
Dim D, n As Integer
D = Val(Text1.Text)
If D <= 200 Then n = D * 0.15
ElseIf D >= 200 And D <= 500 Then n = D * 0.2
Else
n = D * 0.28
End If
Блоковий запис надає такі ж можливості, як і однорядковий, але якщо в залежності від умови необхідно виконати не просту команду, а групу операторів, варто використовувати блоковий синтаксис. При формуванні більш складних умов блоковий запис зручніший. Використання в цьому випадку блокового синтаксису покращує читабельність програми
Контрольні запитання.
1. Дія повного умовного оператора?
2. Що таке Блоковий синтаксис ?
3. Коли можна застосовувати скорочену форму умовного оператора?
Завдання для виконання в класі.
1. Розрахунок пори року за номером місяця
Private Sub Command1_Click()
Dim NM As Integer
NM = InputBox("Введіть цифрами порядковий номер пори року від 1 до
12, щоб дізнатися пору року", "Введення даних")
If (NM >= 3) And (NM <= 5) Then
Print NM; " це - Весна"
ElseIf (NM >= 6) And (NM <= 8) Then Print NM; " це - Літо"
ElseIf (NM >= 9) And (NM <= 11) Then
Print NM; " це - Осінь"
Else
Print NM; " це - Зима"
End If
End Sub
2. Калькулятор на Case
Dim A As Single, B As Single, Vidpovid As Single
Dim D As String
Private Sub Command1_Click()
A = InputBox("Введіть перше число", "Введення даних")
B = InputBox("Введіть друге число", "Введення даних")
D = InputBox("Введіть символ дії: *, /, +, -", "Введення даних")
Select Case D
Case "-"
Vidpovid = A - B
Label1.Caption = Vidpovid
Case "+"
Vidpovid = A + B
Label1.Caption = Vidpovid
Case "*"
Vidpovid = A * B
Label1.Caption = Vidpovid
Case "/"
Vidpovid = A / B
Label1.Caption = Vidpovid End Select
End Sub
3. Калькулятор на Case Else & Label
Dim A As Single, B As Single, Otvet As Single
Dim Z As String
Private Sub Command1_Click()
A = InputBox("Введіть перше число", "Введення даних")
B = InputBox("Введіть друге число", "Введення даних")
Z = InputBox("Введіть символ дії: *, /, +, -", "Введення даних")
Select Case Z
Case "-"
Otvet = A - B
Label1.Caption = Otvet
Case "+"
Otvet = A + B
Label1.Caption = Otvet
Case "*"
Otvet = A * B
Label1.Caption = Otvet
Case "/"
Otvet = A / B
Label1.Caption = Otvet
Case Else
MsgBox ("Ви натиснули не ту кнопку!") End Select End Sub