Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы Visual Basic.docx
Скачиваний:
4
Добавлен:
03.11.2018
Размер:
54.75 Кб
Скачать

4.7 Математические операторы

Решать компьютер, конечно же, может! Повсюду в Basic-программе, где стоят цифры, может вместо них стоять также сложные математические выражения, из которых полается одно число. Компьютер знает также правила деления на нуль, скобки и т.д. Кроме того, повсюду, где находятся цифры, могут находиться переменные, константы, функции или также свойства объектов, вместо которых компьютер подставит потом числа.

Математические операторы в Visual Basic (в порядке, в котором они будут решаться):

() скобки

^ возвести в степень

* умножение

/ деление

+ плюс

- минус

и пара функций:

Sqr(число) вычесть корень (англ. square root)

Fix(число) обрезает все числа после запятой, округление

Fix(3.5) - это 3, Fix(-3.5)- это -3.

Символы, конечно же, нельзя применять в таких случаях, но их можно объединять символом &:

Dim One, Two

One = "Компьютер"

Two = One & " - это сумасшествие!"

Print Two

выдаст на форме: Компьютер - это сумасшествие!

4.8 Выбор: If.Then

Очень часто бывает, что компьютер в зависимости от значения переменной должен выполнять различные вещи. Например, в переменной может стоять какую кнопку нажал пользователь в диалоговом окне (см. MsgBox). Для таких случаев имеются команды If.Then.Else.End If (англ. if: если, then: тогда, else: иначе). Легче всего понять со следующим примером:

Otwet = MsgBox("Как дела?" ,4)

If Otwet = 6 Then ' выбрано "да"

MsgBox "Это чудесно!"

Else ' иначе, т.е. выбрано "нет"

MsgBox "Ну тогда удачи!"

End If

В зависимости от того, правильно или ложно решение "Otwet = 6" (пользователь выбрал "да"), будут выполнены различные команды. Те команды, которые находятся между Then и Else будут выполнены если условие истинно, а команды между Else и End If, если условие ложно. Но в любом случае после End If исполнение команд будет продолжено. Часть Else можно вообще-то не вставлять, если оно не нужно.

Кроме того, существует ещё и короткая форма: если должна быть выполнена только одна команда и если условие истинно, можно также писать в этом роде:

If GamerLife = 1 Then Print "У Вас осталась только одна жизнь!"

В этом случае не нужны слова End If.

Конечно же, существуют также сложные условия:

If a / 7 = Fix(a / 7) Then

Print a; " можно поделить на семь без остатка!"

End If

В Бэйсике существуют следующие возможности, для того, чтобы сравнить два выражения:

< меньше <= меньше либо равно

> больше >= больше либо равно

= равно <> не равно

Эти сравнения можно также использовать при сравнении символов. Причём "меньшее" выражение не то, которое короче, а то которое в алфавите стоит ближе к началу. И "Apfelkern" меньше, чем "Birne"!

Также имеются логические операторы And(и), Or(или) и Not(не). При помощи них можно связывать различные условия и противопоставлять:

Not Life <=3 - тоже самое, что и Life > 3.

Old >= 10 And Old <= 18 - истино тогда и только тогда, когда значение Old находится в промежутке от 10 до 18

Old < 10 Or Old > 18 истинно тогда, и только тогда, когда значение Old не находится в промежутке от 10 до 18

Со сложными условиями с And, Or и Not можно иногда легко запутаться!