Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Краткие теоретические сведения




Операторы разветвляющейся структуры (принятия решений) позволяют выполнять группы инструкций в зависимости от определенного условия. В VBA для принятия решения используются две инструкции If…Then…Else и Select Case.

Инструкция If…Then…Else задает выполнение определенных групп инструкций в зависимости от значения выражения. Ее синтаксис приведен ниже:

If Условие Then Инструкции [Else Инструкции_else]

Допускается также использование блоковой формы синтаксиса:

If Условие Then

[Инструкции]

[Else

Инструкции_else]]

End If

Или расширенная блоковая форма синтаксиса:

If Условие Then

[Инструкции]

[ElseIf Условие-n Then

[Инструкции_ elseif]]…

[Else

Инструкции_elseif_else]]

End If

При этом предложении ElseIf…Then может повторяться несколько раз. Синтаксис инструкции If…Then…Else содержит элементы, представленные в таблице 5.1.

 

Таблица 5.1. Элементы синтаксиса инструкции If…Then…Else

Элемент Описание
Условие Обязательный элемент, представляющий логическое выражение, имеющее значение True или False. Если Условие имеет значение Null, то значение Условие считается равным False
Инструкции Необязательный элемент в блоковой форме, не обязательный – в строчной форме. Этот элемент представляет собой одну или несколько инструкций, разделяемых двоеточиями, которые выполняются, если Условие имеет значение True
Условие l Обязательный элемент, аналогичный элементу Условие, если употреблено выражение ElseIf
Инструкции_ elseif Необязательный элемент – одна или несколько инструкций, которые выполняются, если Условие имеет значение False, а Условие-n - True
Инструкции_else Необязательный элемент – одна или несколько инструкций, которые выполняются, если Условие имеет значение False
Инструкции_elseif_else Необязательный элемент - одна или несколько инструкций, которые выполняются, если ни Условие, ни Условие-n не имеют значение False

 

Однострочная форма допускает выполнение нескольких инструкций в результате проверки одного условия If…Then. При этом все инструкции должны находиться на одной строке и разделяться двоеточием, как показано в приведенном ниже примере:

Sub TestSub ()

 

Dim intA As Integer

Dim intB As Integer

Dim intC As Integer

 

intA = 5

intB = 10

intC = 12

 

If intA < 10 Then intA = intA + 3: intB = intB + 7: intC = intB + intA

End Sub

 

Здесь Условие принимает значение True, а переменные intA, intB, intC будут иметь соответственно значения 8, 17, 25.

В блоковой форме синтаксиса инструкция If обязательно должна быть первой инструкцией в строке, а End If – последней. Предложения Else и ElseIf являются необязательными.

В блоке If допускается любое число предложений ElseIf, но ни одно такое предложение не должно находиться после предложения Else. Ниже представлен пример использования предложения ElseIf:

Sub TestSub ()

 

Dim intA As Integer

Dim intB As Integer

Dim intC As Integer

 

intA = 15

intB = 10

intC = 12

 

If intA < 10 Then

intA = intA + 3

intB = intB + 7

intC = intB + intA

ElseIf intB > 0 Then

intA = intA + 10

intB = intB + 20

intC = intB + intA

End If

End Sub

 

В последнем примере Условие в предложении If будет иметь значение False. Поэтому осуществляется переход на строку с инструкцией ElseIf с последующей проверкой условия, которое в данном случае имеет значение True. Это приводит к выполнению расположенных после ElseIf инструкций, в результате чего переменным intA, intB и intC будут присвоены значения, равные соответственно 25, 30 и 55.

При выполнении блоковой инструкции If также сначала проверяется Условие. Если оно имеет значение True, то выполняются инструкции, следующие за словом Then. Если же Условие имеет значение False, то при наличии одного или нескольких условий ElseIf выполняется последовательная проверка каждого из них. В случае истинности одного из условий осуществляется выполнение инструкций, следующих за соответствующим предложением Then. В том случае, если ни одно из условий ElseIf не имеет значение True или предложение ElseIf отсутствуют, то выполняются инструкции, следующие за Else.

После выполнения инструкций, следующих за Then или Else, происходит передача управления на инструкцию, расположенную непосредственно за End If.

Допускается использование вложенных блоков инструкций If.

 

 

Таблица 5.2 Варианты заданий

Вариант задания Расчетные формулы Значения исходных данных
а в
1. -0,5  
t может принимать любое значение
2. 1,5  
х может принимать любое значение
3. 2,8  
х может принимать любое значение С=4
4. Вычислить значение функции, заданной графически по значению аргумента х     х может принимать любое значение
5. Вычислить значение функции, заданной графически по значению аргумента х     х может принимать любое значение
6. Найти квадрат наибольшего из двух чисел a и b и отпечатать признак N=1, если наибольшим является a и признак N=2 – в противном случае     a и b могут принимать любые значение
7. Определить, является ли значение целочисленной переменной х кратным 3. Если является, то вывести значение на печать, а в противном случае отпечатать НЕТ х может принимать любые целочисленные значения
8. x=7,15, y=2,55, z=0,12, x=0,11
9. x=3,75, y= -6,72, z=4,05, x=4,05
10. x=2,65, y=2,255, z=2,05, x=1,04
11.  
12. Упорядочить три числа a,b,c по возрастанию таким образом, чтобы переменной а соответствовало наименьшее число, b – среднее, с - наибольшее  
13. Вычислить корни квадратного уравнения  
14. Вычислить корни квадратного уравнения Учесть, что любой из коэффициентов a,b,c может быть равен нулю
15. Вычислить  
16. Определить, является ли значение целочисленной переменной Х кратной У. Если является, то вывести значение Х на печать  
17. Вычислить площадь треугольника со сторонами a,b,c по формуле Герона, проверив условие корректности исходных данных длины всех сторон положительны, сумма длин любых двух сторон больше длины третьей
18. Найти квадрат наибольшего из двух чисел a и b, вывести на печать признак N=1, если наибольшим является a, и признак N=2 – в противном случае  
19. Найти квадрат наименьшего из двух чисел a и b, вывести на печать признак N=1, если наибольшим является a, и признак N=0 – в противном случае  
20. Определить, попадает ли точка с координатами х, у в круг радиуса R. Вывести признак N=1, если точка находится внутри круга, и признак N=0, если точка находится вне круга Уравнение окружности R222
21. Вычислить значение функции z=x3/y, где  
22. Вычислить значение функции  
23. Вычислить значение функции  
24. x=15,331, y= -0,823, z=15,22, x=-2,23
25. x= -2,71, y=1,14, z=7,1, x=10,5

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...