Читайте также:
|
|
Любой оператор Visual Basic нужно записывать по определенным грамматическим правилам, в противном случак Visual Basic выдает сообщение об ошибке. У каждого человеческого языка есть своя грамматика, включающая в себя правила, по которым должны выстраиваться в цепочку слова и другие элементы языка, чтобы получилось правильное предложение. Совокупность этих правил образует часть грамматики, называемую синтаксисом. В языках программирования тоже есть предложения. Такими предложениями здесь являются операторы. Очевидно, у языков программирования тоже должен быть свой синтаксис, который описывает правила, по которым записываются операторы языка и из операторов составляется программа. После того, как человек запускает программу на выполнение, любая порядочная среда программирования прежде, чем действительно выполнять ее, сначала проверит, нет ли в ней синтаксических ошибок, и если есть, то программу выполнять не будет, а выдаст сообщение, указывающее человеку, в чем ошибка. А Visual Basic проверяет программу еще на стадии ввода кода.
У Visual Basic есть две формы оператора If: однострочная и многострочная. Пока мы пользовались только однострочным If и поэтому приведем правило записи только для него. Приведем это правило в виде синтаксической схемы:
If условие Then операторы Else операторы
Как понимать эту схему? Ее следует понимать, как образец, шаблон записи оператора, указывающий порядок, в котором оператор записывается из отдельных слов. Слова, которые в схеме я записал жирными буквами, при записи оператора просто копируются. Вместо слов, которые в схеме записаны курсивом, нужно при записи оператора подставить то, что они означают. Поясним, что обозначают эти слова.
операторы | любой оператор Visual Basic или группа операторов, разделенных двоеточиями |
условие | пока под условием будем понимать два арифметических или строковых выражения, соединенных знаком сравнения |
знак сравнения | знаков сравнения шесть: >больше >=больше или равно =равно <меньше <=меньше или равно <>не равно |
Пример: If 5*a+4 <= a*b Then Print b Else a=b+5
Здесь
Print b - один оператор,
a=b+5 - другой оператор,
5*a+4 <= a*b - условие,
5*a+4 - одно выражение,
a*b - другое выражение,
<= - знак сравнения.
В 5.2 вы уже видели, что однострочный оператор If можно записывать в краткой форме. Вот синтаксическая схема для этой формы:
If условие Then операторы
Таким образом, это уже вторая синтаксическая схема, касающаяся одного оператора. Удобно же весь синтаксис оператора иметь перед глазами в одной схеме. Соединим две схемы в одну. Вот эта схема:
Синтаксическая схема однострочного оператора If:
If условие Then операторы [ Else операторы ]
Квадратные скобки здесь означают, что их содержимое можно писать, а можно и не писать в операторе.
Полезное замечание: Вычисляя выражения, стоящие в условии оператора If, Visual Basic не записывает их значения в память. Например, после выполнения фрагмента - b=6: If b+1>0 Then s=20 - в ячейке b будет храниться 6, а не 7. То же относится и к выражениям из оператора Print. Например: b=6: Print b+1. И здесь тоже в ячейке b останется храниться 6, а не 7. И вообще, информация в ячейках памяти не меняется при вычислении выражений без присвоения.
Примеры работы оператора If:
ФРАГМЕНТ ПРОГРАММЫ | ЧТО НА ЭКРАНЕ |
a=10 If a>2 Then Print "!!!" Else Print "!" | !!! |
a=4 If a>5 Then a=a+10 Else a=a-1 Print a | |
s=6 If s-8<>0 Then s=s+10 Print s | |
s=6 If s<0 Then s=s+10 s=s+1 Print s |
Задания 15-17:
Определить без компьютера, что будет напечатано при выполнении следующих фрагментов программ:
15. k=20: k=k+10: If k+10<>30 Then k=8 Else k=k-1
Print k
16. k=20: k=k+10: If k+10 = 30 Then k=8 Else k=k-1
Print k
17. p=1: If p>0 Then p=p+5
If p>6 Then p=p+1
Print p
Задания 18-20:
18. В компьютер вводятся два числа. Если первое больше второго, то напечатать их сумму, иначе - произведение. После этого компьютер должен напечатать текст ЗАДАЧА РЕШЕНА.
19. В компьютер вводятся длины трех отрезков. Компьютер должен ответить на вопрос, правда ли, что первый отрезок достаточно мал, чтобы образовать с другими двумя отрезками треугольник.
Указание: Для этого его длина должна быть меньше суммы длин двух других отрезков. Замечание: Пока не думайте о том, что слишком длинными могут быть второй или третий отрезки. Об этом – задание 26 из 5.7.
20. Дракон каждый год отращивает по три головы, но после того, как ему исполнится 100 лет - только по две. Сколько голов и глаз у дракона, которому N лет?
Если в выражения, входящие в условие оператора If, включить свойства объектов, то вы можете заставить компьютер работать с ними. Например, компьютеру нужно определить, правда ли, что форма красная. Делает это такая программа:
Private Sub Command1_Click()
If Form1.BackColor = vbRed Then MsgBox ("Правда") Else MsgBox ("Неправда")
End Sub
Задание 21: Если кнопка на форме слишком высоко, пусть при нажатии на нее она будет пониже на 200 твипов.
Дата добавления: 2015-11-16; просмотров: 67 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Условный операторIf или как компьютер делает выбор | | | Случайные величины |