ТОП 10:

Організація розгалужених обчислювальних процесів



Умовний оператор 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.

 

Оператор варіанти Select Case

Оператор Select Case подібно оператору If здійснює розгалуження, але при цьому дозволяє організувати розгалуження відразу по декількох напрямках.

Загальна форма оператора:

Select Case X

Case <значення1 або віраз1>

ділянка програми, що виконується, якщо Х = значення1 або выраз1

Case <значення2 або віраз2>

ділянка програми, що виконується, якщо Х = значення2 або выраз2

. . .

Case <значенняN або віразN>

ділянка програми, що виконується, якщо Х = значенняN або выразN

Case Else

ділянка програми, що виконується, якщо жодна з умов не відповідає

фактичному значенню Х

End Select

Виконання оператору Select Case залежить від значення змінної Х – змінної варіанти. У першій гілці обчислюється значення виразу1, якщо він є в операторі, результат або значення1 порівнюється з фактичним значенням змінної Х. Якщо в наслідок порівняння отримано значення “істина”, виконуються оператори, які йдуть після рядка Case. Коли отримано значення “брехня”, обчислюється значення виразу2, змінна Х порівнюється з отриманим результатом або значенням2, якщо значення рівні, виконується друга гілка і т.д. Гілка Case Else в операторі не обов'язкова, виконується, якщо жодна з умов не відповідає фактичному значенню Х.

 







Последнее изменение этой страницы: 2016-08-12; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.209.10.183 (0.004 с.)