Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Процедуры и функции в языке VBS




                                  

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

Разница между процедурой и функцией:

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

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

Синтаксис описания процедуры следующий:

 [Public | Private] Sub <имя_проц.> [(<сп.арг.>)]
[<операторы>]
[Exit Sub]
[<операторы>]

End Sub

где: Public– показывает, что процедура доступна во всех других процедурах программы (является значением По-умолчанию); Private – показывает, что процедура доступна только в тех процедурах программы, где она объявлена; имя_проц. – имя процедуры, составленное по правилам написания идентификаторов; сп.арг. – список аргументов, которые передаются процедуре, когда она вызывается для исполнения; элементы списка разделяются запятыми; операторы – любая группа операторов, которая будет исполняться в процедуре.

Процедуры могут использовать локальные и глобальные переменные. Локальные переменные могут быть объявлены в процедуре с использованием структуры Dim <переменные>. Переменные, которые используются в процедуре, но явно не объявлены, также локальные, если они явно не объявлены на более высоком уровне за пределами процедуры.

Exit Sub может использоватьсядля выхода из любого места процедуры с возвратом на следующую строку в программе после ее вызова.                                        Вызов процедуры необходимо выполнять с использованием структуры [Call] <имя_проц.> [(<сп.арг.>)]. Можно не использовать ключевое слово Call при вызове процедуры, в этом случае список аргументов должен быть написан без круглых скобок сразу именем процедуры: <имя_проц.> <сп.арг.>. Если используется ключевое слово Call, список аргументов должен быть написан в круглых скобках: Call <имя_проц.> (<сп.арг.>).                                                             Синтаксис описания функции следующий:

[Public | Private] Function <имя_функц.> [(<сп.арг.>)]
[<операторы>]
[<имя_функц.> = <выражение>]
[Exit Function]
[операторы]
[<имя_функц.> = <выражение>]
End Function

где:

имя_функц. – имя функции, составленное по правилам написания идентификаторов;

выражение – вычисляемое значение, которое возвращает имя функции;

остальные обозначения те же, что и для процедуры.

Значение, возвращаемое функцией, по умолчанию имеет тип Public, если не указано иное (Private).

Аналогично процедуре, функция не может быть вложенной в другую функцию.










Математические функции в языке VBS

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

     = присваивание, + сложение, - вычитание, / деление, * умножение, ^ возведение в степень.

Математических функция в языке VBScript достаточно много:

Abs Atn Cbool CByte CCur CDbl CInt CLng Cos CSng CStr Exp Fix Int FormatCurrency FormatNumber FormatPercent Hex \ Lbound Log Mid Mod Oct Randomize Rnd RGB Round Sgn Sin Tan TypeName Ubound VarType. Порядок выполнения операций в математических выражениях – общепринятый в математике (приоритет математических операций):математические функции, возведение в степень, умножение и деление, сложение и вычитание.

Круглые скобки ( ) могут использоваться для изменения по­рядка выполнения этих операций. Вначале выполняются операции в скобках, затем вне их. Если используются вложенные скобки, вначале выполняются действия во внутренних скобках, затем во внешних. Особенность записи формул – нельзя пропускать знаки умноже­ния, как это часто делается в математике.

Для всех тригонометрических формул (Atn, Cos, Sin, Tan) единица измерения углов – радианы, например, число p (пи) можно вычислить следующим образом: pi = 4 * Atn(1)

Для вычисления логарифмов с разными основаниями можно использовать следующую программу (в примере – вычисление натурального логарифма, см. рисунок 5.19):

n = exp(1)

x = 123.45

 MsgBox " Ln(" & x &") = " _

& logn(x,n),,"Logn(x)"

Function logn(xf,nf)

logn = Log(xf) / Log(nf)

End Function

Abs(числ.выраж.) - Абсол величина числ выражения; Array(сп.эл.массива) - Создание массива из списка; Atn(числ.выраж.) - Арктангенс, числ выражение в радианах; Cbool(числ.выраж.) - Возвращает True для ненулевого числ выражения, False для 0, ошибка для нечислового значения; CByte(выраж.) - Преобразование в субтип Byte; CCur(выраж.) - Преобразование в субтип Currency; CDbl(выраж.) - Преобразование в субтип Double; Cos(выраж.) - Косинус, числ выражение в радианах; CSng(выраж.) - Преобразование в субтип Single; CStr(выраж.) - Преобразование в субтип Строка; Exp(числ.выраж.) - Функция экспонента Exp(X) или ex ; Eval(выражение) -Вычисляет выражение и возвращает его результат; FormatCurrency -Форматирование числ.выраж. в заданный денежный формат с указанием денежной единицы, заданной в Windows; FormatNumber -Форматирование числ.выраж. в заданный формат; FormatPercent -Форматирование числ.выраж. в заданный процентный формат (/100) с символом %; Hex(числ.выраж.) - Шестнадцатеричное число десятичного числ выражения; Lbound(имя_массива [,размер]) – Наим возможное значение индекса в массиве.. Если размер не указан, он равен 1; Log(числ.выраж.) - Натур логарифм выражения. Если нужно вычислить логарифм с основанием n, следует исп-ть выражение: Logn(x) = Log(x) / Log(n); Randomize -Инициализация генератора случайных чисел; Rnd[(числ.выраж.)] - Случайное число большее или равное 0, но меньшее 1; Sin(числ.выраж.) - Синус угла, выраженного в радианах; Sqr(числ.выраж.) - Квадр корень числа;  Tan(числ.выраж.) - Тангенс угла, выр-го в радианах; TypeName(varИмя) - Название типа переменной (см. далее для VarType);Ubound(имя_массива [, размер]) - Наиб возможное зн-ие индекса в массиве.. Если размер не указан, он равен1.










Последнее изменение этой страницы: 2018-04-12; просмотров: 355.

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