- •Введение
- •Структура программы на vbScript
- •Переменные
- •Подтипы данных и функции преобразования типов
- •Константы
- •Встроенная функция вывода данных MsgBox
- •Встроенная функция ввода данных InputBox
- •Комментарии
- •Непрерывные строки
- •Операторы и операции
- •Пример 4
- •Пример 5
- •Пример 6
- •Пример 7
- •Пример 8
- •Пример 9
- •1.4 Задачи для самостоятельного решения
- •Логические операции
- •Оператор условного перехода: If … Then
- •2.3 Демонстрационные примеры Пример 1
- •Пример 2
- •Пример 3
- •Пример 4
- •Пример 5
- •Пример 6
- •Пример 7
- •2.4 Задачи для самостоятельного решения
- •Лабораторная работа 3. Операторы цикла в программах на vbscript
- •3.1 Цель работы
- •3.2 Теоретические сведения
- •For…Next (цикл со счетчиком)
- •Как выбрать, какой из циклов использовать в программе?
- •Пример 10
- •Пример 11
- •Пример 12
- •Пример 13
- •Пример 14
- •Пример 15
- •Пример 16
- •3.4 Задачи для самостоятельного решения
- •Передача параметров с помощью ключевых слов ByVal и ByRef
- •Функции
- •Пример 4
- •Пример 5
- •4.4 Задачи для самостоятельного решения
- •Лабораторная работа 5. Программирование алгоритмов при помощи рекурсивных процедур и функций
- •5.1 Цель работы
- •5.2 Теоретические сведения
- •5.3 Демонстрационные примеры Пример 1
- •Пример 2
- •Пример 3
- •Пример 4
- •5.4 Задачи для самостоятельного решения
- •Лабораторная работа 6. Массивы
- •6.1 Цель работы
- •6.2 Теоретические сведения
- •Перебор элементов массива
- •6.3 Демонстрационные примеры Пример 1
- •Пример 2
- •Пример 3
- •Пример 4
- •Пример 5
- •Пример 6
- •Пример 7
- •Пример 8
- •6.4 Задачи для самостоятельного решения "Заполнение" массивов
- •Массивы. Исследование и поиск
- •Модификация массивов
- •Лабораторная работа 7. Алгоритмы поиска в регулярном типе данных. Простейшие классические алгоритмы. Сортировка в массиве
- •7.1 Цель работы
- •7.2 Теоретические сведения
- •Сортировка обменом
- •Сортировка выбором
- •Сортировка включениями
- •Сортировка бинарными включениями
- •Шейкер-сортировка
- •7.3 Демонстрационные примеры Пример 1
- •Пример 2
- •Пример 3
- •Пример 4
- •Пример 5
- •Пример 6
- •Пример 7
- •Пример 8
- •Пример 9
- •Пример 10
- •7.4 Задачи для самостоятельного решения
- •Лабораторная работа 8. Строковый тип данных в программах на vbscript
- •8.1 Цель работы
- •8.2 Теоретические сведения
- •Другие функции необходимые для работы со строками
- •Основные функции для работы с датой и временем:
- •8.3 Демонстрационные примеры Пример 1
- •Пример 2
- •Пример 3
- •Пример 4
- •Пример 5
- •Пример 6
- •Пример 7
- •Пример 8
- •Пример 9
- •8.4 Задачи для самостоятельного решения Модификаторы
- •“Вычеркиватели” (частный случай модификаторов)
- •Наблюдатели (предикаты)
- •Подсчет
- •Поиск в словах
- •Литература
- •Данчул а.Н. Информатика: Учебник. – м.: рагс , 2004 г. - 528 с.
- •Содержание
Встроенная функция ввода данных InputBox
Используется для ввода данных пользователем.
Синтаксис:
MyVar=InputBox(Текст [,Заголовок] [,Умолчание][,поз- X] [,поз- Y])
Текст – Необходимый параметр, определяющий сообщение, которое выводится в диалоговом окне.
Заголовок – Необязательный параметр, определяющий текст заголовка диалогового окна.
Умолчание – Необязательный параметр, задающий значение по умолчанию для текстового поля.
Поз-Х и поз-Y – Необязательные параметры, определяющие положение верхнего левого угла диалогового окна.
MyVar – переменная, в которую передается введённая пользователем строка.
Пример:
User_Input = InputBox (“Введите имя файла: ”, “Создать файл”, “NewFile”,100,200)
Замечание: Если необязательный параметр не задан, VBScript использует значение по умолчанию. Чтобы опустить необязательный параметр, надо оставить его место между двумя запятыми пустым.
Комментарии
Добавление комментариев к сценариям считается хорошим тоном. Действительно, с комментариями написанная программа становится более понятной и удобной, другими словами, более читабельной. Кроме того, если вы хотите заставить VBScript проигнорировать строку или часть оператора, можно просто закомментировать этот оператор. На VBScript комментарии помечаются одинарной кавычкой (') или оператором REM. Обнаружив этот символ, интерпретатор VBScript игнорирует остаток строки. Обе приведённые ниже строки содержат комментарии:
' Эта строка состоит из одного лишь комментария
MsgBox “Hello, World!” ' Комментарий в конце строки
Непрерывные строки
Длинные операторы снижают читабельность сценариев. Длина следующего оператора, который выводит сообщение, превышает ширину этой страницы:
MsgBox “Вы ввели не тот тип переменной в текстовое окно предыдущей формы. Пожалуйста, введите значение переменной типа Integer, то есть такое, которое изменяется в пределах от 0 до 255”
Если в программе слишком много длинных строк, при редактировании вы потеряете много времени на горизонтальную прокрутку текста. Лучше переносить операторы на следующую строку с помощью пробелов и символа подчёркивания (_) в конце строки:
MsgBox “Вы ввели не тот тип переменной в текстовое окно предыдущей формы.”&_ “Пожалуйста, введите значение переменной типа Integer, то есть такое, которое ”&_
“изменяется в пределах от 0 до 255”
Обнаружив строку, оканчивающуюся символом подчёркивания, обработчик языка считает её непрерывной и рассматривает следующую строку как часть текущего оператора.
Операторы и операции
Выражение – комбинация операндов и операций, задающая порядок вычисления некоторого значения.
Операнд в простейшем случае является константой или идентификатором. В общем случае каждый операнд выражения также представляет собой выражение, имеющее некоторое значение.
Операции определяют действия, выполняемые над операндами. Возвращают некоторое значение.
Оператор - это некоторая конструкция, присущая данному конкретному языку, изменяющая состояние памяти компьютера, но ничего не возвращающая.
Замечание: Не стоит путать два таких понятия как оператор и операция. Главное их отличие состоит в том, что операция возвращает значение, а оператор нет.
Оператор присваивания предписывает вычисление выражения, находящегося правее знака (=) и присвоение полученного значения переменной, находящейся левее оператора присваивания. Пример:
' Вычисляется значение арифметического выражения a+b и результат помещается в x
x=a+b
Переменная и выражение должны быть совместимы по типу. В данном примере, переменные x, a и b должны быть числами, в противном случае при исполнении данного оператора возникнет ошибка о несоответствии типа.
Замечание: В одной строке можно вводить несколько операторов подряд, разделяя их двоеточиями (:). Однако не злоупотребляйте этой возможностью, иначе ваши программы станут нечитабельными.
Операции конкатенации:
В VBScript используются такие операции конкатенации строк, как + и &
Пример использования:
n=300 ' присваиваем переменной значение 300
' Функция CStr преобразует числовое значение переменной n в строковое, которое
'можно сложить с другой строкой, а результат присвоить переменной s
s=CStr(n)+" лет Санкт-Петербургу!!!"
msgbox s ' выводим в диалоговом окне значение строки s
Конкатенация строк при помощи операции + не самая хорошая практика. Операция + складывает два операнда (если последние – строки, происходит операция конкатенации). Лучший подход – объединить строки при помощи операции &, так как при объединении операцией & двух значений разного формата VBScript автоматически преобразует типы без использования функции CSrc. Пример:
n=300
s=n&" лет Санкт-Петербургу!!!" ' Ошибка типов в данном примере не возникнет
msgbox s
Арифметические операции возвращают переменной числовое значение. Примеры арифметических операций приведены в Таблице 5:
Таблица 5 – Примеры арифметических операций
Операция |
Описание |
Пример |
^ |
Возведение в степень |
x=y^показатель |
+ |
Сложение |
x=a+b |
- |
Вычитание или знак отрицательного числа |
x=-30 или x=a-50 |
* |
Умножение |
x=a*40 |
/ |
Деление |
x=a/b |
\ |
Целочисленное деление |
x=a\b |
Mod |
Остаток от деления |
x=a Mod b |
Логические операции возвращают переменной значение типа Bool. Примеры логических операций приведены в Таблице 6:
Таблица 6 – Примеры логических операций
Операция |
Описание |
Пример |
Not |
НЕ |
x=Not y |
And |
И |
x=a And b |
Or |
ИЛИ |
x=a Or b |
Xor |
Исключающее ИЛИ |
x=a Xor b |
Eqv |
Эквивалентность |
x=a Eqv b |
Imp |
Импликация |
x=a Imp b |
Операции сравнения служат для сравнения выражений (в которых могут быть числа, строки и т.д.). Смотри Таблицу 7.
Таблица 7 – Перечень операций сравнения
Операция |
Описание |
Пример |
= |
Равно |
a=b |
<= |
Меньше или равно |
a<=b |
>= |
Больше или равно |
a>=b |
<> |
Не равно |
a<>b |
Приоритет операций:
При вычислении значений выражений, состоящих из нескольких операций, синтаксический анализатор VBScript использует старшинство операций, которое приведено в Таблице 8. Чем меньше номер, тем больше приоритет.
Таблица 8 – Старшинство операций
Операторы |
Номер |
^ (возведение в степень) |
1 |
- (знак отрицательного числа) |
2 |
* |
3 |
/ |
4 |
\ |
5 |
Mod (остаток от деления) |
6 |
+ (сложение) |
7 |
- (вычитание) |
8 |
+ (конкатенация) |
9 |
& (конкатенация) |
10 |
=, >,<, >=, <=, <> |
11 |
And |
12 |
Or |
13 |
Xor |
14 |
Eqv |
15 |
Imp |
16 |
Замечание: приоритет у операций одинаков, они выполняются по порядку слева направо.
Некоторые встроенные функции приведены в таблице 9:
Таблица 9 – Некоторые встроенные функции
Функция |
Пример использования |
Возвращённое значение |
Описание |
Abs(x) |
a= Abs(-12,08) |
12,08 |
Абсолютное значение числа |
Asc(x) |
a= Asc(“s”) |
115 |
ASCI код символа |
Chr(x) |
a=Chr(115) |
s |
Символ, соответствующий коду |
Fix(x) |
a= Fix(-2.9) |
-2 |
Округление до целого |
Int(x) |
a=Int(-3.1) |
-4 |
Округление до целого |
Hex(x) |
a=Hex(543) |
21F |
Шестнадцатеричное представление |
Oct(x) |
a=Oct(543) |
1037 |
Восьмеричное представление |
Sgn(x) |
a=Sgn(-1.5) |
-1 |
Знак числа |
Date |
a=Date |
11.04.2003 |
Текущая дата |
Time |
a=Time |
14:03:42 |
Текущее время |
Now |
a=Now |
11.04.2003 14:03:42 |
Текущие дата и время |
Atn(x) |
a=Atn(0.5) |
0,463647… |
Арктангенс числа |
Tan(x) |
a=Tan(0.5) |
0,5463024… |
Тангенс числа |
Cos(x) |
a=Cos(15) |
-0,759687… |
Косинус числа |
Sin(x) |
a=Sin(15) |
0,6502878… |
Синус числа |
Exp(x) |
a= Exp(0.37) |
1,447734 |
Экспонента |
Log(x) |
a= Log(2.7) |
0,993251… |
Натуральный логарифм |
Sqr(x) |
a= Sqr(1024) |
32 |
Квадратный корень |
Rnd(x) |
a= Rnd(1) |
0,34800238… |
Случайное число 0..1 |
Randomize |
Randomize |
|
Установка генератора случайных чисел в новое исходное положен ие состояние в зависимости от текущего времени |
Замечание: если аргументом функции является десятичное число, то десятичная часть отделяется от целой при помощи символа точка (.)
1.3 ДЕМОНСТРАЦИОННЫЕ ПРИМЕРЫ
Пример 1
'Имя файла MsgBox.vbs
'Вывод строчки в окне вывода
k= "Hello, World!"
msgbox k
Пример 2
'Имя файла Error.vbs
'Вывод окна, содержащего сообщение об ошибке
MsgBox "Произошла ошибка выполнения программы! "&VbCrLf&_
"Код ошибки 434335001 "&VbCrLf&_
"Запустить отладку?",VbYesNoCancel+VbCritical+VbDefaultButton2+_
VbSystemModal,"Окно сообщения об ошибке"
Пример 3
'Имя файла Byte.vbs
'Программа вычисляет сумму, разность, произведение, частное и остаток от 'деления двух введённых чисел типа Byte
option explicit 'запрет на использование необъявленных переменных
dim n,m 'две рабочие переменные
' вводим переменные
n=Inputbox("Введите целочисленное значение переменной n:",_
"Окно ввода значения переменной типа Byte")
m=Inputbox("Введите целочисленное значение переменной m:",_
"Окно ввода значения переменной типа Byte")
'преводим n и m к типу byte
n=CByte(n)
m=CByte(m)
msgbox "Сумма "&n&" и "&m&" = "&(n+m)&vbcrlf&_
"Разность "&n&" и "&m&" = "&(n-m)&vbcrlf&_
"Произведение "&n&" и "&m&" = "&(n*m)&vbcrlf&_
"Частное "&n&" и "&m&" = "&(n \ m)&vbcrlf&_
"Остаток от деления "&n&" на "&m&" = "&(n mod m)