Урок 10 по VBScript: Функции — математические и для работы с подтипами данных

Урок 10 по VBScript: Функции — математические и для работы с подтипами данных Программирование на VBSCRIPT

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

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

Abs(x) – Позволяет получить абсолютное число, модуль. Параметр x является любым числовым выражением, если же в качестве параметра мы передадим пустую переменную, то функция вернёт 0.

'***********************************' модуль числа' abs.vbs'***********************************Dim a,b,c,d a = Abs(100)       ' 100b = Abs(-100)      ' 100c = Abs(d)                       ' 0 MsgBox a & vbCrLf & b & vbCrLf & c

Tan(x) – Значение тангенса для числа x – отношение длины противоположного катета к прилежащему в прямоугольном треугольнике. Тут x – значение угла в радианах, что бы перевести градусы в радианы, надо число градусов умножить на pi/180.

'***********************************' Тангенс угла' tan.vbs'***********************************Dim a,b,c,pi ' вычисляем pipi=4*atn(1) a = Tan(150*(pi/180))b = Tan(180)        MsgBox a & vbCrLf & b

Atn(x) — Возвращает арктангенс числа х, возвращает значение угла в прямоугольном треугольнике. Параметр x – это отношение противоположного катета к прилежащему. Данная функция vbscript возвращает значение в радианах на промежутке от –pi/2 до pi/2.

'***********************************' Арктангенс угла' atn.vbs'***********************************Dim a,b a = Atn(25)b = Atn(24.7)      MsgBox a & vbCrLf & b

Cos(х) – Косинус угла x, угол задаем в радианах, на выходе получим промежуток от -1 до 1.

'***********************************' Косинус' cos.vbs'***********************************Dim a,b,c,pi ' вычисляем pipi=4*atn(1) a = Cos(180*(pi/180))b = Cos(90*(pi/180))      c = Cos(60*(pi/180))       MsgBox a & vbCrLf & b & vbCrLf & c

Sin(x) – Синус угла x, угол задаем в радианах, на выходе получим промежуток от -1 до 1.

'***********************************' Синус' sin.vbs'***********************************Dim a,b,c,pi ' вычисляем pipi=4*atn(1) a = Sin(180*(pi/180))b = Sin(90*(pi/180))       c = Sin(60*(pi/180))        MsgBox a & vbCrLf & b & vbCrLf & c

Ехр(х) – Позволяет получить экспоненту, возведенную в число x.

'***********************************' Экспонента' exp.vbs'***********************************Dim' вычисляем pie=exp(1)  MsgBox "Экспонента ровна: " & e

Int(x) – Отбрасывает дробную часть числа х и возвращает его целое значение.

'***********************************' Целая часть' int.vbs'*********************************** MsgBox "3.145: " & int(3.145) & vbCrLf & "100.9: " & int(100.9)

Log(x) — Натуральный логарифм из числа х, параметр x должен быть больше 0. Для вычисления десятичного логарифма применяется формула: log10 = log(x)/log(10).

'***********************************' Логарифм' log.vbs'*********************************** dim logN, log10dim x x=25 logN = log(x)log10 = log(x)/log(10) MsgBox logN & vbCrLf & log10

Rnd[(x)] – Используя данную функцию языка vbscript можно генерировать случайное число. На выходе мы получим значение в диапазоне 0  <=  Rnd  <  1. Параметр x позволяет управлять логикой генерации значения:

  • x<0 – одинаковое значение при каждом вызове rnd().
  • x>0 – следующее случайное число в последовательности.
  • x=0 – снова вернуть последнее  сгенерированное случайное число.
  • x отсутствует – следующее случайное число в последовательности.

Что бы инициализировать генератор случайных чисел нужно прежде прописать функцию Randomize [number].

'***********************************' генерация случайных чисел' rnd.vbs'***********************************dim x Randomizex = rnd(1) MsgBox x

Round(x [, numdecimal]) — Возвращает результат округления числа х с точностью до numdecimal знаков после запятой.

'***********************************' Округление чисел' round.vbs'***********************************dim a,b a = round(33.5)        '34b = round(125.12345,3) ' 125.123 MsgBox a & vbCrLf & b

Скачать архив с примерами

Sgn(x) – Вернёт 1, если x больше 0, -1 – если x меньше 0 и 0 – если x равен 0. Фактически, Sgn(x) позволяет определить знак числа.

'***********************************' Определяем знак числа' sgn.vbs'***********************************dim a,b, c a=0b=-200c=100 MsgBox sgn(a) & vbCrLf & sgn(b) & vbCrLf & sgn(c)

Sqr(x) — Вычисляет квадратный корень из числа х.

'***********************************' Квадратный корень' sqr.vbs'***********************************Dim a,b,c a = Sqr(4)b = Sqr(44.3333)            c = Sqr(0)            MsgBox a & vbCrLf & b & vbCrLf & c
Подтипы данных - vbs функции

VBscript функции для работы с подтипами данных

IsArray(ехрr) – Вернёт true, если ехрr является массивом и false – в противном случае.

IsDate(ехрr) — Возвращает true, если параметр ехрr задает корректную дату (т. е. переменная ехрr является переменной подтипа Date), и false в противном случае.

IsEmpty(ехрr) — Возвращает true, если переменная ехрr объявлена, но не инициализирована.

IsNull(expr) — Возвращает true, если переменная expr не содержит никаких корректных данных.

IsNumeric(expr) — Возвращает true, если выражение expr может быть рас­смотрено в качестве числа, и false в противном случае.

IsObject(expr) — Возвращает true, если переменная expr является указателем на внешний объект, и false в противном случае.

VarType(varname) — Возвращает числовое значение, соответствующее подтипу переменной varname.

TypeName(varname) — Возвращает строковое значение, соответствующее подтипу переменной varname.

'***********************************' Работа с подтипами данных' type.vbs'***********************************OptionExplicit dim my_class, my_arrdim my_date, my_null, my_empt, my_numdim list my_null = Nullmy_date = #10/10/2000#my_num=100 Class new_class     Dim a,b,cEnd Class set my_class = new new_class my_arr = Array(3,7,"строка", 8.5) ' IsArray, IsDate, IsEmpty, IsNull, IsNumeric, IsObjectlist="" & IsArray(my_arr) & vbCrLflist=list & IsDate(my_date) & vbCrLflist=list & IsEmpty(my_empt) & vbCrLflist=list & IsNull(my_null) & vbCrLflist=list & IsNumeric(my_num) & vbCrLflist=list & IsObject(my_class) MsgBox list & vbCrlf & vbCrlf & VarType(my_class) & vbCrlf & TypeName(my_class)

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

Оцените статью
Технологии программирования и ведение блога
Добавить комментарий