- •5. Проектирование разветвляющихся вычислительных процессов
- •5.1. Условный оператор
- •5.2. Проектирование приложения, реализующего разветвляющийся вычислительный процесс
- •Используемые переменные
- •5.2.5. Интерфейс с пользователем
- •5.2.6. Код программы
- •5.2.7. Реализация проекта
- •5.2.8. Анализ проекта
- •5.2.9. Выполнение программы и анализ полученных результатов
- •5.4. Пример использования оператора выбора
- •6. Проектирование приложений с циклами
- •6.1. Назначение операторов цикла
- •6.2. Условные циклы
- •6.3. Проектирование приложения на базе условного цикла с верхним окончанием
- •Используемые переменные
- •6.3.5. Интерфейс с пользователем
- •6.3.6. Код программы
- •6.3.7. Анализ проекта
- •6.3.8. Выполнение программы и анализ полученных результатов
- •6.4. Проектирование приложения с использованием условного цикла с нижним окончанием
- •Используемые переменные
- •6.4.5. Интерфейс с пользователем
- •6.4.6. Код программы
- •6.4.7. Анализ проекта
- •6.4.8. Выполнение программы и анализ полученных результатов
- •Планируемые расходы на ремонт офиса
- •6.5. Цикл со счетчиком
- •6.6. Проектирование приложения с использованием цикла со счетчиком
- •6.6.7. Реализация проекта
- •6.6.8. Анализ проекта
- •6.6.9. Выполнение программы и анализ полученных результатов
- •Остаток товаров на 17.09.01
- •7. Массивы данных
- •7.1. Общие сведения о сложных типах
- •Стоимость товаров
- •7.2. Описание и обращение к массивам
- •7.3. Динамические массивы
- •7.4. Использование массивов при решении экономической задачи
- •Используемые данные
- •7.4.5. Интерфейс с пользователем
- •7.4.6. Код программы
- •7.4.7. Реализация проекта
- •7.4.8. Анализ проекта
- •7.4.9. Выполнение программы и анализ полученных результатов
- •Прайс-лист
- •8. Массивы элементов управления
- •8.1. Назначение и создание массивов элементов управления
- •"Группа переключателей"
- •8.2.4. Структура данных
- •Используемые данные
- •8.2.5. Интерфейс с пользователем
- •8.2.6. Код программы
- •8.2.7. Реализация проекта
- •8.2.8. Анализ проекта
- •8.2.9. Выполнение программы и анализ полученных результатов
- •9. Пользовательский тип данных
- •9.1. Определение и обращение
- •9.2. Оператор присоединения With
- •10. Файлы
- •10.1. Назначение файлов
- •10.2. Операции с файлами
- •10.3. Режимы доступа
- •10.4. Файлы с произвольным доступом
- •10.5. Проектирование приложения с файлами
- •10.5.1. Постановка задачи
- •10.5.2. Экономико-математическая модель
- •10.5.3. Алгоритм решения задачи
- •10.5.4. Структура данных
- •10.5.5. Интерфейс с пользователем
- •10.5.6. Код проекта
- •10.5.7. Реализация проекта
- •10.5.8. Анализ проекта
- •9.5.9. Выполнение программы и анализ полученных результатов
- •Данные по заказу на крепежные изделия
- •11. Процедуры и функции
- •11.1. Назначение процедур и их виды
- •11.2. Описание процедур
- •11.3 Вызов процедуры
- •11.4. Функции
- •11.5. Использование процедур и функций при решении экономической задачи
- •11.5.1. Код проекта
- •11.5.2. Реализация проекта
5. Проектирование разветвляющихся вычислительных процессов
5.1. Условный оператор
Условный оператор используется для представления разветвляющегося вычислительного процесса в коде программы на языке Visual Basic, т.е. он применяется в тех случаях, когда из двух возможных действий нужно выбрать одно. Выбор определяется в зависимости от выполнения некоторых условий.
В VB имеются две формы условных операторов – однострочная и блочная. Однострочная форма используется в простейших случаях, когда в каждой ветви имеется не более одного оператора, и имеет вид:
If <условие> Then <оператор> [Else <оператор>]
Действие этого оператора состоит в следующем. Вначале проверяется условие. Если оно удовлетворяется, то выполняется оператор, стоящий после слова Then, в противном случае – оператор, после слова Else. Условие задается выражением булевского типа, т.е. результат его вычисления принимает значение True или False.
Таким образом, условный оператор реализует разветвляющийся вычислительный процесс, схема которого представлена на рис. 5.1.
Рис. 5.1. Схема разветвляющегося вычислительного процесса
Слову «Да» на схеме соответствует ключевое слово Then в операторе, а слову «Нет» – Else.
Конструкция Else может отсутствовать. Этот случай соответствует пустой ветви по условию «Нет» на схеме.
Примеры однострочной формы условного оператора:
If a > b Then max = a Else max = b;
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 грн. |
0 |
от 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