Питання:
Організація розгалужених обчислювальних процесів. Умовний оператор If.
Організація циклічних обчислювальних процесів. Оператор циклу For . . . Next.
Використання елементів управління в програмах Visual Basic.
Організація розгалужених обчислювальних процесів. Умовний оператор If.
Оператор If реалізує алгоритмічну конструкцію “Розгалуження”.
Загальна форма оператора:
If <умова> then
<Блок_операторів_1>
Else
<Блок_операторів_2>
End If
“Блок_операторів_1” виконується в тому випадку, якщо умова має значення «істинно». У тому випадку, якщо логічна умова має значення «брехня» виконується “Блок_операторів_2”.
Оператор If можна використовувати також у такій формі:
If умова Then
Блок_операторів
End If
Скорочена форма оператору If застосовується тоді, коли блок операторів слід виконувати лише при істинності деякої умови.
Приклад використання оператора If
Використання оператора If розглянуто на прикладі програми розрахунку суми до виплати співробітникам підприємства. Користувач програми повинен увести суму нарахованої заробітної платні. З нарахованої суми слід відняти прибутковий податок і внесок у пенсійний фонд. Прибутковий податок сплачується в розмірі 13% від нарахованої заробітної плати. Внесок у пенсійний фонд складає 1% від нарахованої заробітної платні, якщо нараховано менш 150 грн., і 2% в іншому випадку. У програмі використовуються такі змінні:
S – сума нарахованої заробітної платні;
PP – сума прибуткового податку;
PF – сума внеску в пенсійний фонд;
SV – сума до виплати.
Блок-схема розв’язання задачі подана на рисунку 2.1.
Рисунок 2.1 - Блок-схема розв’язання задачі “Розрахунок суми до виплати працівникові підприємства”
На етапі візуального програмування потрібно створити форму, подану на рисунку 2.2.
Рисунок 2.2 - Вікно програми – прикладу використання оператору If
Характеристика форми, елементів управління подана в таблиці.
Об'єкт
| Властивість
| Значення
|
Форма (Form)
| Name
| frmExampleIf
|
Caption
| Програма - приклад If
|
BackColor
| білий
|
Командна кнопка (Command Button)
| Name
| cmdSolve
|
Caption
| Розрахунок
|
Font
| 12 пунктів, напівжирний
|
Командна кнопка (Command Button)
| Name
| cmdClear
|
Caption
| Очистка
|
Font
| 12 пунктів, напівжирний
|
Командна кнопка (Command Button)
| Name
| cmdExit
|
Caption
| Вихід
|
Font
| 12 пунктів, напівжирний
|
Етикетка (Label)
| Name
| lblS
|
Caption
| Нараховано:
|
BackColor
| білий
|
Font
| 12 пунктів, напівжирний
|
Етикетка (Label)
| Name
| lblSVZ
|
Caption
| Сума до виплати:
|
BackColor
| білий
|
Font
| 12 пунктів, напівжирний
|
Етикетка (Label)
| Name
| lblSV
|
Caption
|
|
BackColor
| білий
|
Font
| 12 пунктів, напівжирний
|
Alignment
| 1 – Right Justify (вирівнювання праворуч)
|
Текстове поле
(TextBox)
| Name
| TxtS
|
Text
| “ëû” (порожній рядок)
|
Характеристика коду програми подана в таблиці.
Дані в рядку коду
| Коментар
|
Option Explicit
| Оголошення змінних:
|
Dim S, PP, PF, SV
| S – сума нарахованої заробітної платні; PP – сума прибуткового податку; PF – сума внеску в пенсійний фонд; SV – сума до виплати.
|
Private Sub cmdClear_Click()
| Заголовок процедури, яка виконується у випадку події Click – клацання лівою кнопкою миші на кнопці cmdClear (Очистка).
|
TxtS.Text = " "
| Властивості Text текстового поля txtS (для введення нарахованої суми) привласнюється значення “ëû” (порожній рядок).
|
lblSV.Caption = 0
| Властивості Caption етикетки lblSV (для виведення результату – суми до виплати) привласнюється значення 0.
|
End Sub
| Кінець процедури cmdClear_Click.
|
Private Sub cmdExit_Click()
| Заголовок процедури, яка виконується у випадку події Click – клацання лівою кнопкою миші на кнопці cmdExit (Вихід).
|
End
| Кінець роботи програми
|
End Sub
| Кінець процедури cmdExit_Click.
|
Private Sub cmdSolve _Click()
| Заголовок процедури, яка виконується у випадку події Click на кнопці cmdSolve (Розрахунок).
|
S = Val(txtS.Text)
| Змінній S привласнюється значення властивості Text поля txtS – значення нарахованої суми. При цьому виконується перетворення текстового значення на числове за допомогою функції Val.
|
PP=S-*0.13
| РР привласнюється значення (S-170)*0.2+15.3 /15,3 - податок, який сплачується з суми 170 грн./
|
If S <= 150 Then
| Якщо S менше або рівно 150, то
|
PF=S*0.01
| РF привласнюється значення S*0.01
|
else
| інакше
|
PF=S*0.02
| РР привласнюється значення S*0.02
|
End If
| Завершення оператору If
|
SV=S-PP-PF
| Змінній SV привласнюється значення S-PP-PF
|
lblSV.Caption = str(SV)
| Властивості Caption етикетки lblSV привласнюється значення SV, яке функцією str перетворюється з числового типу на текстовий.
|
End Sub
| Кінець процедури cmdSolve _Click.
|