Проектирование приложения, реализующего разветвляющийся вычислительный процесс
Проектирование разветвляющихся вычислительных процессов
Условный оператор
Условный оператор используется для представления разветвляющегося вычислительного процесса в коде программы на языке Visual Basic, т.е. он применяется в тех случаях, когда из двух возможных действий нужно выбрать одно. Выбор определяется в зависимости от выполнения некоторых условий.
В VB имеются две формы условных операторов – однострочная и блочная. Однострочная форма используется в простейших случаях, когда в каждой ветви имеется не более одного оператора, и имеет вид:
If <условие> Then <оператор> [Else <оператор>]
Действие этого оператора состоит в следующем. Вначале проверяется условие. Если оно удовлетворяется, то выполняется оператор, стоящий после слова Then, в противном случае – оператор, после слова Else. Условие задается выражением булевского типа, т.е. результат его вычисления принимает значение True или False.
Таким образом, условный оператор реализует разветвляющийся вычислительный процесс, схема которого представлена на рис. 5.1.
Рис. 5.1. Схема разветвляющегося вычислительного процесса
Слову «Да» на схеме соответствует ключевое слово Then в операторе, а слову «Нет» – Else.
Конструкция Else может отсутствовать. Этот случай соответствует пустой ветви по условию «Нет» на схеме.
Примеры однострочной формы условного оператора:
1) If a > b Then max = a Else max = b;
2) If txtПлан = "" Then lblРезультат = "План не задан"
Если в каждой ветви разветвляющегося вычислительного процесса нужно выполнить по несколько действий, то используют блочную форму, которая имеет вид:
If <Условие> Then
<Операторы1>
Else
<Операторы2>
End If
Каждый оператор после слов Then и Else записывается в отдельной строке. Оператор If в блочной форме выполняется аналогично оператору в строчной форме. Он имеет сокращенную модификацию (конструкция Else отсутствует), а также расширенную.
Расширенная модификация имеет вид:
If <Условие1> Then
<Операторы1>
ElseIf <Условие2> Then
<Операторы2>
...
[Else
<ОператорыN>]
End If
Многоточие после конструкции ElseIf обозначает, что эта конструкция может повторяться несколько раз.
В расширенной модификации операторы, стоящие после слова Else, выполняются только в том случае, если не удовлетворяется ни одно условие.
Пример. Вычислить подоходный налог (налог на прибыль), используя данные табл. 5.1.
Таблица 5.1
Таблица ставок и размеров налога
Месячный совокупный облагаемый доход | Ставка и размер налога |
до 17 грн. | |
от 18 до 85 грн. | 10% от дохода, который превышает 17 грн. |
от 86 до 170 грн. | 6,8 грн. + 15% от дохода, который превышает 85 грн. |
от 171 до 1020 грн. | 19,56 грн. + 20% от дохода, который превышает 170 грн. |
Фрагмент кода приведен ниже.
If curДоход <= 17 Then
сurСтавка_налога = 0
ElseIf (curДоход >= 18) And (curДоход <= 85) Then
сurСтавка_налога = (curДоход – 17) * 0,1
ElseIf (curДоход >= 86) And (curДоход <= 170) Then
сurСтавка_налога = (curДоход – 85) * 0,15 + 6,8
Else
сurСтавка_налога = (curДоход – 170) * 0,2 + 19,56
End If
Проектирование приложения, реализующего разветвляющийся вычислительный процесс
Постановка задачи
Построить приложение для определения процента отклонения фактического выполнения производственной программы от плана.
Дата добавления: 2020-10-14; просмотров: 340;