Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по VBasic.doc
Скачиваний:
11
Добавлен:
17.09.2019
Размер:
1.16 Mб
Скачать

Урок №10

Цель урока. Научить студентов использовать в условном операторе сложные логические выражения, применять вложенные условные операторы; познакомить с условной функцией IIF, управлять порядком выполнения операторов в программе.

Программирование сложных условий. Вложенный оператор if.

Часто в программах определенные действия надо выполнять после проверки не одного, а нескольких условий. Это можно осуществить двумя разными способами:

  • Использовать после слова IF сложное логическое выражение (несколько условий, объединенных словами OR или AND).

  • Применить вложенный оператор IF.

Задание 1. Ввести два числа и большее поделить на меньшее, учесть при этом, что на ноль делить нельзя. Результат вывести. При решении применить 3 безальтернативных условных оператора. В одном надо проверить сложное условие: a больше b и b не равно 0; во втором аналогичное, только наоборот; а в третьем надо проверить 4 условия (а>b и b=0) или (b>a и a=0).

В этом случае одновременно проверяем все необходимые условия.

Эту же задачу можно решить, применив вложенный оператор IF. Он имеет такую структуру:

If условие1 then

Операторы

ELSE IF условие2 THEN

Операторы

END IF

ELSE

Операторы

ELSE IF условие3 THEN Оператор ELSE Оператор

End IF

Внутри блочного оператора IF применяется еще один внутренний оператор IF. После проверки первого условия программа переходит в нужный блок, а там проверяется следующее условие.

Задание 2. Предыдущую задачу решить с использованием вложенной конструкции IF. Сначала определить, какое число больше, а потом проверять, не равно ли 0 меньшее число, и только после этого разделить.

В одной конструкции могут встретиться и сложные условия, и вложенные операторы. Степень вложения, в принципе не ограничена, но, конечно, следует избегать очень глубоких вложений, чтобы самому программисту не запутаться. В сложных конструкциях надо внимательно следить за количеством ключевых слов IF, ELSE, END IF. Их число должно друг другу соответствовать. Рекомендуется при использовании блочного оператора IF сначала написать на разных строчках слова IF, ELSE, END IF, а потом внутрь вставлять необходимые операторы.

Задание 3. Ввести при помощи InputBox имя и фамилию (раздельно). Если компьютер узнает и то и другое, он здоровается. А если компьютер не опознает введенные данные, то он спрашивает: "Уверены ли Вы во вводе?", если да, выдает сообщение об ошибке, если нет, повторяет еще один раз ввод с проверкой. Для сообщения используйте функцию MsgBox с кнопками ДА и НЕТ.

Операторы передачи управления применяются в программе для перехода с одного участка программы на любой другой без какого-либо условия. Этот оператор называют еще оператор безусловного перехода.

GOTO метка

Метка - это идентификатор, помещаемый слева от программного оператора и отделенный от него двоеточием.

m1: a=a+2

Конец: End

Операторы перехода к этим операторами с метками будут иметь вид:

Goto m1 Goto Конец

Следует сказать, что для получения хорошего стиля программирования следует избегать применения оператора Goto, так как в этом случае программа плохо читается и ухудшается её понимание. Применяйте этот оператор только в исключительных случаях.

Задание 4. При запуске программы запрашивается пароль при помощи InputBox. При неправильном пароле выдается сообщение об этом и предлагается вновь ввести пароль. Если пароль был введен три раза неправильно, то программа заканчивается. Используйте вложенный условный оператор и оператор GOTO.

Одну и ту же задачу можно решать различными способами. Следующее задание можно решать и простыми условными операторами или вложенными. Можно применить сложные условия и оператор GOTO, но это необязательно. Вы должны каждый раз выбрать наиболее понятное и ясное решение именно для Вас.

Задание 5. На форме кнопка. При нажатии на неё спрашивается и запоминается имя, задается вопрос, например, по арифметике. Потом проверяется ответ, если неправильно, выдается сообщение, и задается еще раз этот же вопрос. Всего вопросов три, каждый, если надо, повторяется. Потом выдается оценка, в зависимости от ответов. За каждый вопрос можно получить 0,1 или два бала.

Домашнее задание:

  1. При нажатии на кнопку каждый раз запрашивается Имя и предлагаются задачи. За каждый ответ ставится 5 или 2. Надо проконтролировать несколько человек. В конце на форме печатается, сколько человек опрошено, сколько отличников и сколько двоечников. Отличник – если все ответы правильные, двоечник – если хотя бы один ответ неправильный.

  2. Придумать и написать программу с использованием вложенного условного оператора и сложных условий.

Контрольные вопросы:

  1. Сколько операторов END IF может быть во вложенном условном операторе?

  2. Куда осуществляется переход при помощи оператора GOTO?

  3. Что такое сложное условие, и в каких случаях оно применяется?