Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы прогр на VBA лекции.doc
Скачиваний:
41
Добавлен:
19.03.2016
Размер:
2.24 Mб
Скачать

1.8. Приоритеты операций

Таблица 7

Приоритет

Оператор (операция)

1

Вызов функции и скобки

2

^(возведение в степень)

3

-(смена знака)

4

*, /(умножение, деление)

5

\ (целочисленное деление)

6

Mod (остаток от целочисленного деления)

7

+, -(сложение, вычитание)

8

&, +(слияние строк)

9

=, <>, <, >, <=, >= (операции отношения)

10

Not (логическое отрицание)

11

And(логическоеИ)

12

Or (логическое ИЛИ)

13

Xor (исключающее ИЛИ)

Если выражение содержит несколько операторов (знаков операций), то они выполняются в определенном порядке. Порядок выполнения операций называют порядком старшинства или приоритетом операций. Приоритеты выполнения операций приведены в табл.7.

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

1.9. Оператор присваивания

Оператор присваивания осуществляет присваивание результата вычисления некоторого выражения переменной или константе.

Синтаксис:

<идентификатор> = <выражение>

Элементы синтаксиса:

идентификатор

обязательный. Идентификатор переменной, константы или свойства объекта, удовлетворяющий стандартным правилам именования.

выражение

обязательный. Любое выражение, удовлетворяющее требованиям его составления.

Оператор присваивания предписывает сначала вычислить значение выражения, заданное в его правой части, и присвоить полученный результат идентификатору, имя которого указано в левой части оператора. В результате, например, действия следующих операторов присваивания

x=3

y=2+x-x^2

переменной y будет присвоено значение, равное -4.

Ограничений на тип идентификатора и выражения в операторе присваивания нет. Т.е. идентификатору может быть присвоено значение любого выражения, даже если их типы не совпадают. Исключение: значение строкового выражения нельзя присвоить идентификатору не строкового типа.

При вычислении значения выражения тип результата выбирается в зависимости от типа того компонента выражения, который позволяет получить наиболее точное значение. Затем результат полученного вычисления преобразуется в соответствии с типом идентификатора.

Порядок численных типов от наименее до наиболее точного: Byte, Integer, Long, Single, Currency.

Например, переменным

Dim x As Integer, y As Single, s As String

x, y и s соответственно целого, вещественного и строкового типа присвоим следующие значения

x=3

y=5.1

s= “Город”

С помощью оператора присваивания переопределим значения объявленных переменных.

  1. Переменная x

x=x+1

x=y

После выполнения первого оператора присваивания значение переменной x будет равно 4, после второго – 5. Вещественное значение 5.1 округлено до ближайшего целого.

Присваивание

x=s

недопустимо. Такая инструкция приведет к аварийному завершению работы процедуры.

  1. Переменная y

y=y+1

y=x+1

Значение переменной y после выполнения первого оператора присваивания будет равно 6.1, после второго – 4. Во втором случае результат вычисления выражения – целый, был преобразован в соответствии с типом переменной у – в вещественный тип.

Присваивание переменной у значения строкового выражения, например,

y=s

недопустимо.

  1. Переменная s

s=y

s=x

В первом случае строковой переменной будет присвоено вещественное значение, а во втором – целое, но в обоих случаях они преобразуются в строку.