Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

End Sub. – логическое_выражение – выражение, возвращающее не нулевое значение (истина) или ноль (ложь);

End If

Else

End If

Else

End If

End If

 

– логическое_выражение – выражение, возвращающее не нулевое значение (истина) или ноль (ложь);

– блок _ операторов – любое количество операторов.

 

При блочной форме проверяется сначала первое логическое выражение. Если оно ненулевое ("истина"), выполняются операторы блока, следующего за словом Then (блок_операторов_1). Если логическое выражение равно нулю ("ложь"), происходит переход к оценке условия, заданного в последующей строке ElseIf. При выполнении этого условия выполняются операторы данного блока (блок_операторов_2) и т.д. Если ни одно из условий ElseIf не выполняется (все "ложь"), то выполняются операторы блока Else (блок_операторов_N). Блоки Else и ElseIf могут быть опущены (тогда оператор If примет вид минимальной блочной формы). В блочную структуру If можно вставить любое количество условий ElseIf. Каждый из блоков может также содержать другую структуру с оператором If (так образуются вложенные блочные структуры If). Обратите внимание, слово ElseIf пишется слитно, а в слове End If, наоборот, ставится пробел. Слова If, ElseIf, Else и End If должны быть единственными в строке (другими словами, первый выполняемый оператор в каждом блоке должен начинаться со следующей новой строки). Последний блок операторов должен заканчиваться строкой End If.

Любую программу можно составить с использованием только самой простой формы оператора If – краткой линейной формы. Все остальные формы используются только для удобства записи программы. Как было уже сказано, если проверяются одно или два условия, то имеет смысл использовать более простую линейную форму If…Then или If...Then…Else.

Блочная форма оператора If … Then имеет несколько форм записи – они отличаются друг от друга наличием необязательных параметров (на приведенной выше общей форме записи они стоят в квадратных скобках). Минимальная блочная форма имеет вид:

 

If логическое_выражение Then

Оператор_1

Оператор_2

……………………………

Оператор_N

 

Здесь Оператор_1, Оператор_2 и т.д. до N – последовательность операторов (блок), выполняющихся при выполнении логического_выражения. Количество операторов в блоке не ограничивается (главное, чтобы блок заканчивался ключевым словом End If). Действие оператора If поясняется блок-схемой, приведенной на рис. 9.3.

Рис. 9.3. Минимальная блочная форма оператора If…Then

 

Максимальная блочная форма применяется, когда необходимо анализировать не одно или два условия, а целый ряд взаимосвязанных условий:

 

If логическое_выражение_1 Then

[блок_операторов_1]

ElseIf логическое_выражение_2 Then

[блок_операторов_2]

……………………………………………………………………………………

ElseIf логическое_выражение_N–1 Then

[блок_операторов_N–1]

[блок_операторов_N]

 

Действие оператора If поясняется блок-схемой, приведенной на рис. 9.4.

 

Рис. 9.4. Максимальная блочная форма оператора If…Then

 

Пример 9. Определение количества знаков в числе от 0 до 1000.

 

Sub blochnaya_forma_If()

Dim x As Single

Dim y As Integer

m1: x = InputBox ("Введите целое положительное число в интервале от 0 до 1000", "Запрос задачи")

If x < 0 Or x > 100 Or x <> Int(x) Then

'повтор ввода, если ввели не отвечающее требованиям число

MsgBox "Вы ввели не верное число",, "Повторите ввод"

GoTo m1:

ElseIf x < 10 Then

y = 1

ElseIf x < 100 Then

y = 2

ElseIf x < 1000 Then

y = 3

y = 4

MsgBox "Число " & x & " имеет " & y & " знак(а)",, "Решение задачи"

 

<== предыдущая лекция | следующая лекция ==>
Лекция № 25. 9.11.3. Блочный синтаксис оператора If Then | Отношения
Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 172; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.