- •Таганрог, 2013
- •Цели и задачи лабораторной работы
- •Виды сценарных языков
- •Основные принципы
- •Директивы, команды и операторы сценарного языка Visual Basic Script
- •Арифметические операторы
- •/Начало кода/
- •/Начало кода/
- •/Начало кода/
- •/Конец кода/
- •Циклический оператор «Do-Loop»
- •/Начало кода/
- •Арифметические функции
- •Функции даты и времени
- •Ввод/Вывод
- •Пример выполнения
- •/Начало кода/
/Начало кода/
X=5
Y=2
Z=”/”
Select case Z
case "+":
Z=X+Y
case "-":
Z=X-Y
case "/":
Z=X/Y
case "*":
Z=X*Y
case else:
Z=0
End Select
//Будет выполнено деление т.к. Z=”/”, если бы значение Z было отличным от арифметических операторов, то переменная Z содержала бы число 0
/Конец кода/
Циклический оператор «Do-Loop»
Применяется для выполнения некоторых действий, некоторое количество раз.
Синтаксис:
Do
/*Действие*\
Loop -Бесконечный цикл
Do While /*Условие*\
/*Действие*\
Loop -Цикл с предусловием
Do
/*Действие*\
Loop While /*Условие*\ -Цикл с постусловием
Do Until /*Условие*\
/*Действие*\
Loop -Цикл с предусловием
Do
/*Действие*\
Loop Until /*Условие*\ -Цикл с постусловием
Замечание: Конструкция с директивой While будет исполняться до тех пор, пока условие не станет ложным, а директива Until заставит цикл исполняться до тех пор, пока условие не станет истинным. Т.е. если необходимо выполнять некоторый набор действий, пока параметр не изменит своего значения, то используют директиву While, а если существует необходимость в совершении некоторых действий, пока параметр не примет значение, совпадающее с некоторым эталонным, применяют директиву Until.
Замечание: Цикл с предусловием - проверяет предположение на соответствие истине перед исполнением действий, а цикл с постусловием – после. Соответственно цикл с постусловием исполняется как минимум один раз.
Пример:
/Начало кода/
Do While Z<10
Z=Z+1
Loop
//Данный цикл будет исполнен 10 раз
/Конец кода/
/Начало кода/
Z=10
Do While Z<10
Z=Z+1
Loop
//Данный цикл не будет исполнен т.к. Z уже равна 10
/Конец кода/
/Начало кода/
Z=10
Do
Z=Z+1
Loop While Z<10
//Данный цикл будет исполнен один раз т.к. Z уже равна 10, но проверка происходит после выполнения кода
/Конец кода/
Замечание: Возможен также предварительный выход из цикла Do, с помощью конструкции Exit Do. Ярким примером предварительного выхода из цикла может служить:
/Начало кода/
Z=10
Do While Z<10
Z=Z+1
If Z=5 then Exit Do
Loop
//Данный цикл будет исполнен пять раз т.к. как только Я станет равна 5, произойдет предварительный выход из цикла
/Конец кода/
Циклический оператор «While-Wend»
Применяется для упрощения организации циклов с предусловием, исполняющихся пока условие соответствует истине.
Синтаксис:
While /*Условие*\
/*Действие*\
Wend
Пример:
/Начало кода/
Z=10
While Z<10
Z=Z+1
Wend
/Конец кода/
Циклический оператор «For-Next»
Применяется для организации циклов со счетчиком, исполняющихся указанное количество раз.
Синтаксис:
For /*Имя переменной счетчика*\ To /*Крайнее значение счетчика*\
/*Действие*\
Next
Пример:
/Начало кода/
For I=1 to 5
X=X+1
Next
//Цикл будет исполнен пять раз, переменная Х примет значение 5
/Конец кода/
Циклический оператор «For-Each-Next»
Предоставляет возможность организовать цикл, обрабатывающий каждый элемент в коллекции.
Синтаксис:
For each /*Имя переменной*\ In /*Имя коллекции*\
/*Действие*\
Next
Пример:
/Начало кода/
Dim X(6)
X(0)=”П”
X(1)=”р”
X(2)=”и”
X(3)=”в”
X(4)=”е”
X(5)=”т”
For each N in X
Z=Z & N
//В итоге переменная Z примет значение «Привет»
/Конец кода/
Процедуры
Процедура – подпрограмма, предоставляющая возможность выполнить описанные в ней действия, вызвав ее по ее имени.
Процедура может принимать параметры и возвращать значения.
Синтаксис:
Sub /*Любое имя процедуры*\ (/*Имя параметра*\)
/*Действие*\
/*Имя процедуры*\=/*Возвращаемое значение*\
End Sub
Пример:
/Начало кода/
Sub Ad(X)
Z=5
Z=Z*X
End Sub
While Y<>70
Y=Ad(5)
Wend
//Данная процедура будет вызываться внутри цикла до тех пор, пока Y не примет значение 70
/Конец кода/
Функции
Функция в отличие от процедуры должна вернуть значение, но может принимать параметры.
Синтаксис:
Function /*Любое имя функции*\ (/*Имя параметра*\)
/*Действие*\
/*Имя функции*\=/*Возвращаемое значение*\
End Function
Пример:
/Начало кода/
Function Ad(X,Y)
Ad=X+Y
End Function
For I=1 To 10
Z=Ad(I,5)
Next
//Данная функция будет вызываться внутри цикла десять раз, передавая в функцию параметр счетчика и значение 5, которые будут складываться и возвращаться в качестве результата в переменную Z
/Конец кода/
Строковые функции
Существует ряд встроенных функций Visual Basic Script, заранее подготовленных для применения. Для их использования достаточно их вызвать в общем случае функция принимает хотя бы один параметр и возвращает хотя бы одно значение.
Синтаксис |
Описание |
Пример |
InStr (старт, где, что, метод) |
Ищет в строке «где» строку «что», начиная с символа номер «старт» рекомендуется использовать метод 0 и возвращает номер первого найденного символа |
X=”Аквапарк” Y=”парк” Z=Instr(1,X,Y,0) //Z примет значение 5 т.к. первая буква Y – «п» и она пятая по счету в X |
InStrRev (старт, где, что, метод) |
Действует аналогично предыдущей функции, но осуществляет поиск справа налево, т.е. с конца строки |
X=”БлаБлаБла” Y=”Бла” Z=InStrRev(1,X,Y,0) //Z примет значение 7 т.к. первая буква Y – «Б» и она седьмая по счету в X справа |
LCase (что) |
Преобразует строку «что» в нижний регистр (строчные символы) |
X=”ВСЕМ ПРИВЕТ” Y=LCase(X) //Переменная Y примет значение “всем привет” |
UCase (что) |
Преобразует строку «что» в верхний регистр (заглавные символы) |
X=”нчоу дпо укц” Y=UCase(X) //Переменная Y примет значение “НЧОУ ДПО УКЦ” |
Left (что, сколько) |
Возвращает количество символов «сколько» слева строки «что» |
X="Пример кода" Y=Left(X,6) //Переменная Y примет значение "Пример" т.к. это ровно шесть символов с начала строки
|
Right (что, сколько) |
Возвращает количество символов "сколько" с конца строки "что" |
X="Пример кода" Y=Right(X,4) //Переменная Y примет значение "кода" т.к. это ровно четыре символа с конца строки |
Mid (что, откуда, сколько) |
Возвращает количество символов "сколько" слева строки "что", начиная с символа "откуда" |
X="Это обычный текст" Y=Mid(X,5,7) //Переменная Y примет значение "обычный" т.к. буква "о" пятый символ слева, а в слове "обычный" семь символов |
Len (что) |
Возвращает количество символов в строке "что" |
X="Строка" Y=Len(X) //Переменная Y примет значение 6 |
Replace (где, что, начто, начиная) |
Заменяет в строке "где" текст "что" на текст "начто", начиная поиск соответствия с символа "начиная" |
X="Это обычный текст" Y="не обычный" Z=Replace(X,"обычный",Y,1) //Переменная Z примет значение "Это не обычный текст" |
StrReverse (что) |
Инвертирует расположение символов в строке "что" |
X="Строка" Y=StrReverse(X) //Переменная Y примет значение "акортС" |
IsNumeric (что) |
Проверяет является ли строка числовой или нет. Если строка состоит из чесел, возвращает Истина(True) и Ложь(False) если нет |
X="123" Y="abc" Z="123abc" M=IsNumeric(X) N=IsNumeric(Y) O=IsNumeric(Z) //Переменные примут следующие значения: M: True N: False O: False |