Разветвляющие программы
Разветвляющиеся программы это – программы, в которых на определённых этапах происходит анализ значений тех или иных параметров и в зависимости от этого выбирается один из возможных вариантов дальнейшего хода программы. Практически все более или менее сложные программы являются разветвляющимися. Для их написания используются конструкции управляющих операторов принятия решения.
При написании разветвляющих программ предварительно составляется блок-схема алгоритма решения задачи. Блок-схема это – графическое изображение алгоритма или последовательности решения задачи программирования. Для составления блок-схем используются стандартизованные графические изображения (блоки) определённых операторов алгоритмического языка.
№ |
Название блока |
Графическое изображение блока |
Операторы и функции эквивалентные блоку |
1 |
Блок ввода |
Ввод |
Операторы ввода, функция InpBox |
2 |
Блок вывода |
Вывод |
Операторы вывода, функция MsgBox |
3 |
Блок присваивания |
Х=А
|
Оператор присваивания |
4 |
Блоки сравнения |
Условие
|
Условный оператор If |
Пример 2
Составить блок-схему, написать для неё и отладить процедуру, которая производит выбор наибольшей из трёх заданных величин X, Y и Z и присваивает её значение переменной F, т. е. вычисляет F=max(X,Y,Z).
Пояснения к примеру. После ввода значений переменных X,Y и Z согласно блок-схеме проверяется условие X>Y. Если оно истинно, то выполняется первая вложенная конструкция оператора If, в которой проверяется условие X>Z, если оно истинно, то переменной F присваивается значение X в противном случае - Y. Если же условие X>Y ложно, то выполняется вторая вложенная конструкция оператора If, в которой проверяется условие Y>Z, если оно истинно, то переменной F присваивается значение Y иначе - Z. В конце процедуры предусмотрен выбор либо повторения работы процедуры, либо её завершения. Происходит это в зависимости от того какое значение передаст функция MsgBox в переменную ВЫВОД. Если при работе процедуры пользователем будет нажата кнопка «повтор», то в переменную ВЫВОД будет передано значение vbRetry и конструкции Select Case передаст управление на метку 10 для повторного ввода данных, а если – «отмена», то значение vbCancel и конструкция Select Case передаст управление на метку 20 End Sub – завершение работы процедуры.
Функции в vba
IIF – функция, которая возвращает одно из двух значений в зависимости от проверяемого условия. Её синтаксис:
IIf (условие, значение 1, значение2)
Если результатом проверки условия является значение True, функция возвращает значение 1, а когда проверка даёт значение False, то возвращаемый результат – значение 2
Например
N = IIf (Y<0, 1, 2)
Если Y<0, то переменной N будет присвоено значение 1, в противном случае – значение 2
