Производные математические функции




ТИПЫОПЕРАТОРОВ

Операторы Описание
Арифметические операторы Операторы, используемые для выполнения математических вычислений.
Операторы сравнения Операторы, используемые для выполнения операций сравнения.
Операторы конкатенации Операторы, используемые для объединения строковых значений.
Логические операторы Операторы, используемые для выполнения логических операций.

СТАРШИНСТВО ОПЕРАТОРОВ

Если выражение содержит несколько операторов, то значения компонентов выражения рассчитываются в определенном порядке. Такой порядок называют порядком старшинства или приоритетом операторов.

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

Арифметические Сравнения Логические
Возведение в степень (^) Равняется (=) Not
Изменение знака (–) Не равняется (<>) And
Умножение и деление (*, /) Меньше (<) Or
Целое деление (\) Больше (>) Xor
Деление по модулю (Mod) Меньше или равняется (<=) Eqv
Сложение и вычитание (+, –) Больше или равняется (>=) Imp
Слияние строк (&) Like  
  Is  

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

Оператор конкатенации (слияния строк) (&) не является арифметическим оператором, однако, по порядку старшинства он следует сразу за арифметическими операторами и перед операторами сравнения.

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

Оператор Is является оператором сравнения ссылок на объект. Этот оператор не выполняет сравнение объектов или их значений; он проверяет только, указывают ли две разные ссылки на один объект.


АРИФМЕТИЧЕСКИЕ ОПЕРАТОРЫ


1. Оператор ^

2. Оператор *

3. Оператор /

4. Оператор \

5. Оператор Mod

6. Оператор +

7. Оператор -


3.1. Оператор ^

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

Синтаксис

результат = число^показатель

Оператор ^ использует следующие операнды:

Элемент Описание
результат Обязательный; любая числовая переменная.
число Обязательный; любое числовое выражение.
показатель Обязательный; любое числовое выражение.

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

Обычно, результат имеет тип данных Double или Variant, содержащий значение типа Double. Если любой из операндов число или показатель представлен выражением, имеющим значение Null, то результат также имеет значение Null.

В данном примере демонстрируется использование оператора ^ для возведения числа в степень.

Dim MyValue

MyValue = 2 ^ 2 ' Возвращает 4.

MyValue = 3 ^ 3 ^ 3 ' Возвращает 19683.

MyValue = (-5) ^ 3 ' Возвращает -125.

3.2. Оператор *

Возвращает произведение двух чисел.

Синтаксис

результат = число1*число2

Оператор * использует следующие операнды:

Элемент Описание
результат Обязательный; любая числовая переменная.
число1 Обязательный; любое числовое выражение.
число2 Обязательный; любое числовое выражение.

Результат обычно имеет тип данных выражения с максимальной точностью. В порядке возрастания точности следуют типы Byte, Integer, Long, Single, Currency, Double и Decimal. Из этого правила имеются такие исключения:

Операция Результат
Умножение чисел типа Single и Long, Double.
результат должен получить значение подтипа Long, Single или Date типа Variant, выходящее за рамки допустимых для этих типов диапазонов значений. Преобразуется к подтипу Double типа Variant.
результат должен получить значение подтипа Byte типа Variant, выходящее за рамки допустимых для этого типа диапазона значений. Преобразуется к подтипу Integer.
результат должен получить значение подтипа Integer типа Variant, выходящее за рамки допустимых для этого типа диапазона значений. Преобразуется к подтипу Long.

Если один или оба операнда является выражением со значением Null, то результат имеет значение Null. Выражение, имеющее значение Empty, рассматривается как имеющее значение 0.

Примечание. Точность результатов операции умножения может отличаться от точности результатов операций сложения и вычитания.

В данном примере демонстрируется использование оператора * для расчета произведения двух чисел.

Dim MyValue

MyValue = 2 * 2 ' Возвращает 4.

MyValue = 459.35 * 334.90 ' Возвращает 153836.315.

3.3. Оператор /

Возвращает результат деления двух чисел.

Синтаксис

результат = число1/число2

Оператор / использует следующие операнды:

Элемент Описание
результат Обязательный; любая числовая переменная.
число1 Обязательный; любое числовое выражение.
число2 Обязательный; любое числовое выражение.

Результат обычно имеет тип данных Double или подтип Double типа Variant. Из этого правила имеются такие исключения:

Операция Результат
Оба выражения имеют тип Byte, Integer или Single. Тип Single, если при этом результат не выходит за рамки допустимого для этого типа диапазона значений; в последнем случае возникает ошибка.
Оба выражения принадлежат к подтипу Byte, Integer или Single типа Variant. Результат имеет подтип Single типа Variant, если при этом он не выходит за рамки допустимого диапазона значений; в последнем случае результат получает значение подтипа Double.
В делении участвует значение типа Decimal и значение любого другого типа. Decimal.

Если один или оба операнда является выражением со значением Null, то результат имеет значение Null. Выражение, имеющее значение Empty, рассматривается как имеющее значение 0.

В данном примере демонстрируется использование оператора / для деления двух чисел.

Dim MyValue

MyValue = 10 / 4 ' Возвращает 2.5.

MyValue = 10 / 3 ' Возвращает 3.333333.

3.4. Оператор \

Возвращает результат целого деления двух чисел.

Синтаксис

результат = число1\число2

Оператор \ использует следующие операнды:

Элемент Описание
результат Обязательный; любая числовая переменная.
число1 Обязательный; любое числовое выражение.
число2 Обязательный; любое числовое выражение.

Перед выполнением деления значения операндов округляются до целых значений типа Byte, Integer или Long.

Обычно, результат имеет тип данных Byte, подтип Byte типа Variant, тип Integer, подтип Integer типа Variant, тип Long или подтип Long типа Variant, вне зависимости от того, является ли результат целым числом. Любая дробная часть отбрасывается. Если один или оба операнда является выражением со значением Null, результат имеет значение Null. Выражение, имеющее значение Empty, рассматривается как имеющее значение 0.

В данном примере демонстрируется использование оператора \ для целого деления двух чисел.

Dim MyValue

MyValue = 11 \ 4 ' Возвращает 2.

MyValue = 9 \ 3 ' Возвращает 3.

MyValue = 100 \ 3 ' Возвращает 33.

Оператор Mod

Возвращает остаток при целом делении двух чисел (значение по модулю).

Синтаксис

результат = число1 Mod число2

Оператор Mod использует следующие операнды:

Элемент Описание
результат Обязательный; любая числовая переменная.
число1 Обязательный; любое числовое выражение.
число2 Обязательный; любое числовое выражение.

Выполняется деление по модулю (нахождение остатка) число1 на число2 (с округлением действительных чисел до целых). результат получает значение остатка. Например, в следующем выражении A (результат) равняется 5.

A = 19 Mod 6.7

Обычно, результат имеет тип данных Byte, подтип Byte типа Variant, тип Integer, подтип Integer типа Variant, тип Long или подтип Long типа Variant, вне зависимости от того, является ли результат целым числом. Любая дробная часть отбрасывается. Если один или оба операнда является выражением со значением Null, результат имеет значение Null. Выражение, имеющее значение Empty, рассматривается как имеющее значение 0.

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

Dim MyResult

MyResult = 10 Mod 5 ' Возвращает 0.

MyResult = 10 Mod 3 ' Возвращает 1.

MyResult = 12 Mod 4.3 ' Возвращает 0.

MyResult = 12.6 Mod 5 ' Возвращает 3.

3.6. Оператор +

Возвращает сумму двух чисел.

Синтаксис

результат = выражение1+выражение2

Оператор + использует следующие операнды:

Элемент Описание
результат Обязательный; любая числовая переменная.
число1 Обязательный; любое числовое выражение.
число2 Обязательный; любое числовое выражение.

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

Если по крайней мере один из операндов не принадлежит к типу Variant, действуют следующие правила:

Операнды Операция
Оба выражения имеют числовые типы данных (Byte, Boolean, Integer, Long, Single, Double, Date, Currency или Decimal) Сложение.
Оба выражения имеют тип String Слияние строк.
Одно выражение имеет числовой тип данных, а другое тип Variant (за исключением значения Null). Сложение.
Одно выражение имеет тип String, а другое тип Variant (за исключением значения Null). Слияние строк.
Одно выражение имеет тип Variant и содержит значение Empty. результат получает значение второго операнда.
Одно выражение имеет числовой тип данных, а другое тип String. Возникает ошибка несогласования типов.
Оба выражения имеют значения Null результат имеет значение Null.

Если оба операнда - выражения типа Variant, действуют следующие правила:

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

В простых операциях сложения с участием только операндов с числовыми типами результат обычно имеет тип данных слагаемого с максимальной точностью. В порядке возрастания точности следуют типы Byte, Integer, Long, Single, Double, Currency и Decimal. Из этого правила существуют такие исключения:

Операция результат
Сложение чисел типа Single и Long Double.
результат должен получить значение подтипа Long, Single или Date типа Variant, выходящее за рамки допустимых для этих типов диапазонов значений. Преобразуется к подтипу Double.
результат должен получить значение подтипа Byte типа Variant, выходящее за рамки допустимых для этого типа диапазона значений. Преобразуется к подтипу Integer.
результат должен получить значение подтипа Integer типа Variant, выходящее за рамки допустимых для этого типа диапазона значений. Преобразуется к подтипу Long.
Значение типа Date складывается со значением любого типа. Date.

Если один или оба операнда является выражением со значением Null, то результат имеет значение Null. Если оба операнда имеют значение Empty, результат имеет тип Integer. Если значение Empty имеет только один из операндов, результат получает значение второго операнда.

Примечание. Точность результатов операций сложения и вычитания может отличаться от точности результатов операции умножения.

В данном примере демонстрируется использование оператора + для суммирования чисел. Оператор + позволяет также выполнять слияние строковых значений, однако, во избежание неопределенности рекомендуется выполнять эту операцию только с помощью оператора &. Если один из операндов содержит числовое значение, а второй строковое, то оператор + выполняет операцию сложения. Если оба операнда содержат строковые значения, выполняется слияние строк (конкатенация).

Dim MyNumber, Var1, Var2

MyNumber = 2 + 2 ' Возвращает 4.

MyNumber = 4257.04 + 98112 ' Возвращает 102369.04.

 

Var1 = "34": Var2 = 6 ' Инициализирует переменные разных типов.

MyNumber = Var1 + Var2 ' Возвращает 40.

 

Var1 = "34": Var2 = "6" ' Инициализирует строковые переменные.

MyNumber = Var1 + Var2 ' Возвращает "346" (слияние строк)

3.7. Оператор –

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

Синтаксис 1

результат = число1–число2

 

Синтаксис 2

–число

Оператор – использует следующие операнды:

Элемент Описание
результат Обязательный; любая числовая переменная.
число1 Обязательный; любое числовое выражение.
число2 Обязательный; любое числовое выражение.

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

Результат обычно имеет тип данных выражения с максимальной точностью. В порядке возрастания точности следуют типы Byte, Integer, Long, Single, Double, Currency и Decimal. Из этого правила имеются такие исключения:

Операция результат
Вычитание значений Single и Long. Преобразуется к типу Double.
результат должен получить значение подтипа Long, Single или Date типа Variant, выходящее за рамки допустимых для этих типов диапазонов значений. Преобразуется к подтипу Variant, содержащему значение типа Double.
результат должен получить значение подтипа Byte типа Variant, выходящее за рамки допустимых для этого типа диапазона значений. Преобразуется к подтипу Integer.
результат должен получить значение подтипа Integer типа Variant, выходящее за рамки допустимых для этого типа диапазона значений. Преобразуется к подтипу Long.
Значение типа Date участвует в операции вычитания со значением любого типа. Date.
Два значения типа Date участвуют в операции вычитания. Double.

Если один или оба операнда является выражением со значением Null, то результат имеет значение Null. Выражение со значением Empty рассматривается как имеющее значение 0.

Примечание. Точность результатов операций сложения и вычитания может отличаться от точности результатов операции умножения.

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

 

Dim MyResult

MyResult = 4 - 2 ' Возвращает 2.

MyResult = 459.35 - 334.90 ' Возвращает 124.45.

ОПЕРАТОРЫКОНКАТЕНАЦИИ

Оператор &

Оператор + (см. Арифметические операторы)

4.1. Оператор &

Используется для слияния двух строковых выражений.

Синтаксис

результат = выражение1 & выражение2

Оператор & использует следующие операнды:

Элемент Описание
результат Обязательный; любая переменная типа String или Variant.
выражение1 Обязательный; любое выражение.
выражение2 Обязательный; любое выражение.

Если выражение не содержит строковое значение, то оно преобразуется к подтипу String типа Variant. Если оба операнда являются строковыми выражениями, то результат имеет тип данных String; в противном случае результат принадлежит к подтипу String типа Variant. Если оба операнда является выражением со значением Null, результат имеет значение Null. Однако если значение Null имеет только одно выражение, то при слиянии с другим операндом этот операнд. рассматривается как пустая строка (""). Любой операнд со значением Empty также рассматривается как пустая строка.

В данном примере демонстрируется использование оператора & для слияния строк.

Dim MyStr

MyStr = "Всем" & " привет" ' Возвращает "Всем привет".

MyStr = "Check " & 123 & " Check" ' Возвращает "Check 123 Check".

ЛОГИЧЕСКИЕ ОПЕРАТОРЫ


Оператор And

Оператор Eqv

Оператор Imp

Оператор Not

Оператор Or

Оператор Xor


Оператор And

Возвращает результат конъюнкции (логического И) для двух выражений.

Синтаксис

результат = выражение1 And выражение2

Оператор And использует следующие операнды:

Элемент Описание
результат Обязательный; любая числовая переменная.
выражение1 Обязательный; любое выражение.
выражение2 Обязательный; любое выражение.

Если оба выражения имеют значение True, результат имеет значение True. Если хотя бы одно из выражений имеет значение False, результат имеет значение False. Возвращаемые оператором значения представлены в следующей таблице:

выражение1 выражение2 результат
True True True
True False False
True Null Null
False True False
False False False
False Null False
Null True Null
Null False False
Null Null Null

Оператор And выполняет также поразрядное сравнение двух числовых выражений и присваивает соответствующему разряду в переменной результат следующее значение:

Разряд в выражение1 Разряд в выражение2 результат
     
     
     
     

В данном примере демонстрируется использование оператора And для выполнения операции конъюнкции (логического умножения) двух выражений.

Dim A, B, C, D, MyCheck

A = 10: B = 8: C = 6: D = Null ' Инициализирует переменные.

MyCheck = A > B And B > C ' Возвращает True.

MyCheck = B > A And B > C ' Возвращает False.

MyCheck = A > B And B > D ' Возвращает Null.

MyCheck = A And B ' Возвращает 8 (поразрядное сравнение).

Оператор Eqv

Используется для проверки логической эквивалентности двух выражений.

Синтаксис

результат = выражение1 Eqv выражение2

Оператор Eqv использует следующие операнды:

Элемент Описание
результат Обязательный; любая числовая переменная.
выражение1 Обязательный; любое выражение.
выражение2 Обязательный; любое выражение.

Если хотя бы одно из выражений имеет значение Null,то результат также имеет значение Null. Если ни одно из выражений не имеет значение Null, результат определяется следующим образом:

выражение1 выражение2 результат
True True True
True False False
False True False
False False True
         

Оператор Eqv выполняет также поразрядное сравнение двух числовых выражений и присваивает соответствующему разряду в переменной результат следующее значение:

Разряд в выражение1 Разряд в выражение2 результат
     
     
     
     
         

В данном примере демонстрируется использование оператора Eqv для выполнения операции логической эквивалентности двух выражений.

Dim A, B, C, D, MyCheck

A = 10: B = 8: C = 6: D = Null ' Инициализирует переменные.

MyCheck = A > B Eqv B > C ' Возвращает True.

MyCheck = B > A Eqv B > C ' Возвращает False.

MyCheck = A > B Eqv B > D ' Возвращает Null.

MyCheck = A Eqv B ' Возвращает -3 (поразрядное сравнение).

Оператор Imp

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

Синтаксис

результат = выражение1 Imp выражение2

Оператор Imp использует следующие операнды:

Элемент Описание
результат Обязательный; любая числовая переменная.
выражение1 Обязательный; любое выражение.
выражение2 Обязательный; любое выражение.

Возвращаемые оператором значения представлены в следующей таблице:

выражение1 выражение2 результат
True True True
True False False
True Null Null
False True True
False False True
False Null True
Null True True
Null False Null
Null Null Null
         

Оператор Imp выполняет также поразрядное сравнение двух числовых выражений и присваивает соответствующему разряду в переменной результат следующее значение:

Разряд в выражение1 Разряд в выражение2 результат
     
     
     
     
         

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

Dim A, B, C, D, MyCheck

A = 10: B = 8: C = 6: D = Null ' Инициализирует переменные

MyCheck = A > B Imp B > C ' Возвращает True.

MyCheck = A > B Imp C > B ' Возвращает False.

MyCheck = B > A Imp C > B ' Возвращает True.

MyCheck = B > A Imp C > D ' Возвращает True.

MyCheck = C > D Imp B > A ' Возвращает Null.

MyCheck = B Imp A ' Возвращает -1 (поразрядное сравнение).

Оператор Not

Выполняет над выражением операцию логического отрицания.

Синтаксис

результат = Not выражение

Оператор Not использует следующие операнды:

Элемент Описание
результат Обязательный; любая числовая переменная.
выражение Обязательный; любое выражение.

Возвращаемые оператором значения представлены в следующей таблице:

выражение результат
True False
False True
Null Null

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

Разряд в выражение результат
   
   

В данном примере демонстрируется использование оператора Not для выполнения операции логического отрицания для одного выражения.

Dim A, B, C, D, MyCheck

A = 10: B = 8: C = 6: D = Null ' Инициализирует переменные.

MyCheck = Not(A > B) ' Возвращает False.

MyCheck = Not(B > A) ' Возвращает True.

MyCheck = Not(C > D) ' Возвращает Null.

MyCheck = Not A ' Возвращает -11 (поразрядное сравнение).

Оператор Or

Выполняет операцию логического ИЛИ (сложения) для двух выражений.

Синтаксис

результат = выражение1 Or выражение2

Оператор Or использует следующие операнды:

Элемент Описание
результат Обязательный; любая числовая переменная.
выражение1 Обязательный; любое выражение.
выражение2 Обязательный; любое выражение.

Если одно или оба выражения истинны (имеют значение True), результат также имеет значение True. Возвращаемые оператором значения представлены в следующей таблице:

выражение1 выражение2 результат
True True True
True False True
True Null True
False True True
False False False
False Null Null
Null True True
Null False Null
Null Null Null

Оператор Or выполняет также поразрядное сравнение двух числовых выражений и присваивает соответствующему разряду в переменной результат следующее значение:

Разряд в выражение1 Разряд в выражение2 результат
     
     
     
     

В данном примере демонстрируется использование оператора Or для выполнения операции дизъюнкции (логического сложения) двух выражений.

Dim A, B, C, D, MyCheck

A = 10: B = 8: C = 6: D = Null ' Инициализирует переменные.

MyCheck = A > B Or B > C ' Возвращает True.

MyCheck = B > A Or B > C ' Возвращает True.

MyCheck = A > B Or B > D ' Возвращает True.

MyCheck = B > D Or B > A ' Возвращает Null.

MyCheck = A Or B ' Возвращает 10 (поразрядное сравнение).

Оператор Xor

Выполняет операцию исключающего ИЛИ для двух выражений.

Синтаксис

[результат =] выражение1 Xor выражение2

Оператор Xor использует следующие операнды:

Элемент Описание
результат Обязательный; любая числовая переменная.
выражение1 Обязательный; любое выражение.
выражение2 Обязательный; любое выражение.

Если одно и только одно из выражений истинно (имеет значение True), результат имеет значение True. Если хотя бы одно из выражений имеет значение Null, результат также имеет значение Null, Если ни одно из выражений не имеет значение Null, результат определяется следующим образом:

выражение1 выражение2 результат
True True False
True False True
False True True
False False False

Оператор Xor выполняет также поразрядное сравнение двух выражений и присваивает соответствующему разряду в переменной результат следующее значение:


 

Разряд в выражение1 Разряд в выражение2 результат
     
     
     
     

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

Dim A, B, C, D, MyCheck

A = 10: B = 8: C = 6: D = Null ' Инициализирует переменные.

MyCheck = A > B Xor B > C ' Возвращает False.

MyCheck = B > A Xor B > C ' Возвращает True.

MyCheck = B > A Xor C > B ' Возвращает False.

MyCheck = B > D Xor A > B ' Возвращает Null.

MyCheck = A Xor B ' Возвращает 2 (поразрядное сравнение).

МАТЕМАТИЧЕСКИЕ ФУНКЦИИ


Функция Abs

Функция Atn

Функция Cos

Функция Exp


Функция Fix

Функция Int

Функция Log

Функция Rnd


Функция Sgn

Функция Sin

Функция Sqr

Функция Tan

 


Функция Abs

Возвращает значение, тип которого совпадает с типом переданного аргумента, равное абсолютному значению указанного числа.

Синтаксис

Abs(число)

Обязательный аргумент число может представлять любое допустимое числовое выражение. Если число имеет значение Null, возвращается значение Null. Если аргумент представляет не инициализированную переменную, возвращается нулевое значение.

Абсолютное значение числа это его величина с положительным знаком. Например, оба выражения ABS(-1) и ABS(1) возвращают 1.

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

Dim MyNumber

MyNumber = Abs(50.3) ' Возвращает 50.3.

MyNumber = Abs(-50.3) ' Возвращает 50.3.

Функция Atn

Возвращает значение типа Double, содержащее арктангенс числа.

Синтаксис

Atn(число)

Обязательный аргумент число представляет значение типа Double или любое допустимое числовое выражение.

Функция Atn определяет величину угла (в радианах) по указанному отношению длин двух сторон прямоугольного треугольника (противолежащего катета и прилежащего катета). Это отношение задается с помощью аргумента число.

Значение, возвращаемое данной функцией, лежит в диапазоне от -pi/2 до pi/2 радиан.

Для преобразования градусов в радианы следует умножить градусы на pi/180. Для преобразования радиан в градусы следует умножить радианы на 180/pi.

Примечание. Функция Atn является обратной к функции Tan, которая возвращает тангенс указанного угла. Не путайте арктангенс с котангенсом, который равняется (1 / тангенс).

В данном примере функция Atn используется для вычисления значения pi.

Dim pi

pi = 4 * Atn(1) ' Вычисляет значение pi.

Функция Cos

Возвращает значение типа Double, содержащее косинус угла.

Синтаксис

Cos(число)

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

Функция Cos определяет отношение длин двух сторон прямоугольного треугольника (прилежащего катета и гипотенузы) по указанному углу (в радианах).

Значение, возвращаемое данной функцией, лежит в диапазоне от -1 до 1.

Для преобразования градусов в радианы следует умножить градусы на pi/180. Для преобразования радиан в градусы следует умножить радианы на 180/pi.

В данном примере функция Cos используется для вычисления косинуса угла.

Dim MyAngle, MySecant

MyAngle = 1.3 ' Задает угол в радианах.

MySecant = 1 / Cos(MyAngle) ' Вычисляет секанс.

Функция Exp

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

Синтаксис

Exp(число)

Обязательный аргумент число представляет значение типа Double или любое допустимое числовое выражение.

Если значение аргумента число превышает 709,782712893, возникает ошибка. Константа e приблизительно равняется 2,718282.

Примечание. Функция Exp является обратной к функции Log, поэтому иногда ее называют "антилогарифмом".

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

Dim MyAngle, MyHSin

' Задает угол в радианах.

MyAngle = 1.3

 

' Вычисляет гиперболический синус.

MyHSin = (Exp(MyAngle) - Exp(-1 * MyAngle)) / 2

Функции Int и Fix

Возвращают значение типа, совпадающего с типом аргумента, которое содержит целую часть числа.

Синтаксис

Int(число)

Fix(число)

Обязательный аргумент число представляет значение типа Double или любое допустимое числовое выражение. Если число имеет значение Null, возвращается Null.

Обе функции Int и Fix отбрасывают дробную часть числа и возвращают целое значение.

Различие между функциями Int и Fix состоит в том, что для отрицательного значения аргумента число функция Int возвращает ближайшее отрицательное целое число, меньшее либо равное указанному, а Fix ближайшее отрицательное целое число, большее либо равное указанному. Например, функция Int преобразует -8.4 в -9, а функция Fix преобразует -8,4 в -8.

Выражение Fix(число) эквивалентно следующему:

Sgn(число) * Int(Abs(число))

В данном примере показано, как функции Int и Fix возвращают целые части чисел. В случае отрицательного аргумента Int возвращает ближайшее отрицательное целое число, меньшее либо равное указанному, а Fix ближайшее отрицательное целое число, большее либо равное указанному.

Dim MyNumber

MyNumber = Int(99.8) ' Возвращает 99.

MyNumber = Fix(99.2) ' Возвращает 99.

 

MyNumber = Int(-99.8) ' Возвращает -100.

MyNumber = Fix(-99.8) ' Возвращает -99.

 

MyNumber = Int(-99.2) ' Возвращает -100.

MyNumber = Fix(-99.2) ' Возвращает -99.

Функция Log

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

Синтаксис

Log(число)

Обязательный аргумент число представляет значение типа Double или любое допустимое положительное числовое выражение.

Натуральным логарифмом называют логарифм по основанию e. Константа e приблизительно равняется 2,718282.

Для вычисления логарифма числа x по основанию n следует разделить натуральный логарифм числа x на натуральный логарифм числа n:

Logn(x) = Log(x) / Log(n)

В следующем примере показана специальная процедура Function, предназначенная для вычисления логарифмов по основанию 10:

Static Function Log10(X)

Log10 = Log(X) / Log(10#)

End Function

В данном примере функция Log используется для вычисления натурального логарифма числа.

Dim MyAngle, MyLog

' Задает угол в радианах.

MyAngle = 1.3

' Вычисляет гиперболический арксинус.

MyLog = Log(MyAngle + Sqr(MyAngle * MyAngle + 1))

Функция Rnd

Возвращает значение типа Single, содержащее случайное число.

Синтаксис

Rnd[(число)]

Необязательный аргумент число представляет значение типа Single или любое допустимое числовое выражение.

Возвращаемые значения
Если число Rnd возвращает
Меньше нуля Каждый раз одно и то же число, используя аргумент число в качестве опорного числа.
Больше нуля Следующее случайное число в последовательности.
Равняется нулю Случайное число, возвращенное при предыдущем вызове этой функции.
Не указано Следующее случайное число в последовательности.

Функция Rnd возвращает значение, меньшее 1 и большее или равное нулю.

Аргумент число определяет способ генерации случайного числа функцией Rnd:

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

· Перед вызовом функции Rnd используйте инструкцию Randomize без аргумента для инициализации генератора случайных чисел значением, возвращаемым системным таймером.

Ниже приведена формула, предназначенная для получения случайных целых чисел в заданном диапазоне:

Int((верхняяГраница - нижняяГраница+ 1) * Rnd + нижняяГраница)

Здесь верхняяГраница представляет максимальное число в диапазоне, а нижняяГраница минимальное число в диапазоне.

Примечание. Для повторения последовательности случайных чисел следует вызвать функцию Rnd с отрицательным аргументом сразу после использования инструкции Randomize с числовым аргументом. Повторное использование инструкции Randomize с тем же числовым аргументом не приведет к повторению предыдущей последовательности случайных чисел.

В данном примере функция Rnd используется для получения случайного целого числа в



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-05-16 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: