Лекция 5 Лекция 5 математические операторы 1

Вид материалаЛекция

Содержание


Оператор присваивания
Арифметические операции
Целочисленное деление
Остаток от деления нацело
Возведение в степень
Порядок операций
математические функции
As Double
As Double
As Double
As Double
Логические операторы
Dim bEnable as Boolean
Dim bEnable as Boolean
Dim bEnable as Boolean
Поразрядные логические операции
Byte, Integer
Подобный материал:



Visual Basic 6.0 Лекция 5

Лекция 5

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

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

Арифметические операции 1

Целочисленное деление 1

Остаток от деления нацело 2

Возведение в степень 2

Порядок операций 2

математические функции 3

Логические операторы 3

Поразрядные логические операции 4

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


П

Операция

Оператор

Сложение

+

Вычитание



Умножение

*

Деление

/

Целочисленное деление

\

Остаток от деления нацело

mod

Возведение в степень





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

В Visual Basic математические операторы применяют для создания выражений. В выражениях можно использовать переменные, константы, свойства элементов управления, функции, математические операторы и скобки.

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

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


Для передачи переменной вычисленного значения выражения нужно воспользоваться оператором присваивания. Синтаксис оператора присваивания имеет вид:

Переменная = Выражение

В правой части может находиться только идентификатор переменной или свойство объекта. Желательно, чтобы выражение и переменная были бы одного и того же типа. Если типы выражения и переменная не совпадают, то вызывается процедура преобразования типа данных, которые могут приводить к ошибкам.

При формировании выражения необходимо иметь в виду, что сначала вычисляется выражение, а потом вычисленное значение пересылается в область памяти, в которой хранится значение переменной. Поэтому одна и та же переменная может фигурировать в правой и левой части. Например, следующий оператор увеличивает значение переменной Х на единицу:

nХ = nХ + 1

Арифметические операции


Синтаксис оператора сложения, вычитания, умножения и деления имеют вид:

Result = Number1 Operator Number2 [ Operator Number3]

Параметр Result является переменной или свойством, в которое будет помещён результат вычислений. Операнды Number1, Number2 и Number3 могут быть переменными, числовыми литералами, свойством или значениями функции. Количество операндов в выражении не ограничено. Однородные операции выполняются последовательно слева направо.

Целочисленное деление


Синтаксис оператора целочисленного деления имеет вид:

Result = Number1 \ Number2 [ \ Number3]

Параметр Result и операнды Number1, Number2, Number3 – целые числа. При целочисленном делении в результате получают целое число, поскольку дробная часть отбрасывается. Например:

nX = 10 \ 3 { nX = 3 }

Остаток от деления нацело


Синтаксис оператора вычисления остатка от деления нацело имеет вид:

Result = Number1 mod Number2 [ mod Number3]

Параметр Result и операнды Number1, Number2, Number3 – целые числа. Оператор mod возвращает остаток от целочисленного деления. Например:

nX = 10 mod 3 { nX = 1 }

Возведение в степень


Синтаксис оператора возведение в степень имеет вид:

Result = Number Power

Параметр Result и операнды Number и Power – вещественные числа. Возведение в степень – это операция умножения числа само на себя заданное количество раз, которое определяется показателем степени. В таблице приведены примеры использования оператора возведения в степень и описание ограничений.

Выражение

Оператор

Описание




x = a N

N-ная степень числа.

N – целое, то а – любое число;

N – нецелое, то а – неотрицательное число



x = a (1/N)

Корень N-ной степени неотрицательного числа



x = a (-N)

Отрицательная степень числа.

N – целое, то а – любое число;

N – нецелое, то а – неотрицательное число

Необходимо отметить, что операция возведения в степень не позволяет извлекать корень нечётной степени из отрицательного числа, хотя эта операция в математике определена, например: . При попытке выполнить эту операцию в Visual Basic компилятор выдаст сообщение об ошибке. То, как обойти это ограничение, мы рассмотрим в следующей лекции.

Порядок операций


При вычислении сложных выражений Visual Basic выполняет операторы в указанном ниже порядке:
  1. Возведение в степень ( ).
  2. Отрицание ( ).
  3. Умножение и деление ( * , / ).
  4. Деление нацело ( \ ).
  5. Взятие остатка от деления ( mod ).
  6. Сложение и вычитание ( + , ).

Для изменения порядка выполнения операторов используют круглые скобки. Можно использовать любое количество вложенных скобок. После проведения расчётов в скобках, применяют обычный порядок выполнения операций.

Обратите внимание на то, что у операции возведения в степень самый высокий приоритет, т.е. эта операция будет выполнена самой первой.

Вычислим следующее выражение .

y = 27 1 / 3

После выполнения этого оператора y примет значение 9, а не 3 как следовало ожидать. Причина заключается в том , что 27 возводится в первую степень, а затем делится на 3. Поэтому для получения правильного результата нам необходимо изменить порядок выполнения операций с помощью скобок. Правильное выражение будет иметь вид:

y = 27 (1 / 3 )


математические функции


В Visual Basic определены часто используемые элементарные математические функции, которые являются членами класса Math и описаны в справочной системе. Для того, чтобы ознакомиться с кратким описанием функции, воспользуйтесь броузером объектов:
  • щёлкните на кнопке Object Browser на стандартной панели инструментов или
  • выберите команду меню ViewObject Browser или
  • нажмите клавишу F2

В списке Classes выберите класс Math. В списке Members of Math щёлкните по интересующей вас функции и прочтите и описание в нижней части диалогового окна.

В приведённой ниже таблице перечислены функции Visual Basic, их синтаксис и описание.

Синтаксис функции

Описание


Function Abs (Number)

Возвращает абсолютное значение числа

Function Atn (Number As Double) As Double

Возвращает арктангенс числа

Function Cos (Number As Double) As Double

Возвращает косинус числа

Function Exp (Number As Double) As Double

Возвращает основание натурального логарифма возведённого в заданную степень

Function Log (Number As Double) As Double

Возвращает логарифм числа

Sub Randomize ([Number])

Обновляет базу генератора случайных чисел

Function Rnd ([Number]) As Single

Возвращает случайное число в диапазоне от 0 до единицы

Function Sgn (Number)

Возвращает знак числа:

Function Round (Number, [NumDigitsAfterDecimal As Long])

Возвращает число, округлённое до заданного количества знаков после запятой

Function Sin (Number As Double) As Double

Возвращает синус числа

Function Sqr (Number As Double) As Double

Возвращает квадратный корень неотрицательного числа

Function Tan (Number As Double) As Double

Возвращает тангенс числа

Логические операторы


Логические (Boolean) переменные могут хранить одно из двух значений: Истина (True) или Ложь (False). Присвоить значение логической переменной можно с помощью служебных слов True или False, например:

Dim bEnable as Boolean

bEnable = True

Присвоить значение логической переменной можно, поместив в правую часть оператора присваивания операцию сравнения, например:

Dim bEnable as Boolean, nA as Integer, nB as Integer

bEnable = nA > nB

Для логических переменных в Visual Basic определена операция логического отрицания, в результате которой возвращается значение противоположное значению операнда, например:

Dim bEnable as Boolean, bB as Boolean

bEnable = Not bB

Для логических переменных в Visual Basic определены операции: логическое И (And), логическое ИЛИ (Or), исключительное ИЛИ (Xor), логическая эквивалентность Eqv, логическое включение Imp. Операции выполняются с двумя операндами, и их синтаксис имеет вид:

[Result =] Expression1 Operator Expression2

Result – необязательный параметр, переменная логического типа;

Expression1 и Expression2 – обязательные параметры, выражения логического типа.

Логические операции над логическими данными дают результат логического типа по правилам, указанным в таблице.

A

B

A And B

A Or B

A Xor B

A Eqv B

A Imp B

False

False

False

False

False

True

True

False

True

False

True

True

False

True

True

False

False

True

True

False

False

True

True

True

True

False

True

True

Поразрядные логические операции


П
еречисленные выше логические операторы могут быть применены и к переменным целого типа ( Byte, Integer, Long). При этом необходимо иметь в виду, что целое число в памяти хранится в виде последовательности нулей и единиц. Например, число типа Byte, равное 26, имеет в памяти следующий вид:

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

Поразрядные логические операции в этом случае применяются к соответствующим битам. Значение бита, равное 1 эквивалентно True, 0False. Синтаксис поразрядной операции имеет вид:

[Result =] Expression1 Operator Expression2

Result – необязательный параметр, переменная целого типа;

Expression1 и Expression2 – обязательные параметры, выражения целого типа.

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

A

B

A And B

A Or B

A Xor B

A Eqv B

A Imp B

Not A

0

0

0

0

0

1

1

1

0

1

0

1

1

0

1

1

1

0

0

1

1

0

0

0

1

1

1

1

0

1

1

0

Например:

Dim A as Byte, B as Byte, C as Byte

A = 26 ‘A = 00011010

B = 6 ‘B = 00000110

C = A And B ‘C = 00000010 = 2

C = Not A ‘C = 11100101 = 229