- •Введение
- •Структура программы на 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 с.
- •Содержание
Пример 10
'Имя файла: summa.vbs
'Вычислить сумму s=1+1/2+1/3+1/4+... , которая состоит из n слагаемых
'C использованием конструкции Do While...Loop
option explicit
dim a, s, w, n
n=CInt(InputBox ("Введите число слагаемых: ",_
"Вычисление суммы s=1+1/2+1/3+... "))
a=2
w=1
s=1
Do While a<=n
s=s+1/a
w=w& "+1/" &a
a=a+1
Loop If n=1 Then
MsgBox "s=1",,"Результат:"
ElseIf n=0 Then
MsgBox "s=0",,"Результат:"
ElseIf n<0 Then
MsgBox "Вы ввели неправильное значение!",vbCritical,"Ошибка ввода:"
Else
MsgBox "s="&w&"="&s,,"Результат:"
End If
Пример 11
'Имя файла: Palindrom.vbs
'Программа подсчитывает, сколько палиндромических чисел лежат в 'промежутке от 100 до 1000
'(число M называется палиндромическим числом, если оно
'равно своему обращённому).
'Выведите все эти числа.
option explicit
dim x, y, z, d, n, m, s
MsgBox "Сколько палиндромических чисел лежат в промежутке от 100 до 1000",,"Задача:"
For x=1 to 9
For y=0 to 9
For z=0 to 9
n=100*x+10*y+z
m=100*z+10*y+x
If n=m Then
d=d+1
s=s&" "&n
End If
Next
Next
Next
MsgBox "В промежутке от 100 до 1000 лежит "&d&" палиндромов: "&vbCrLf&s
Пример 12
'Имя файла: Otrezok.vbs
'Нахождение всех простых чисел на заданном отрезке
option explicit
dim x1, x2, k, s, i, j
x2=CLng(InputBox("Введите верхню границу отрезка: ",_
"Окно ввода: ","10"))
x1=CLng(InputBox("Введите нижню границу трезка: ","Окно ввода: ","5"))
s="Все простые числа из отрезка ["&x1&", "&x2&"] :"&vbCrLf
For i=x1 to x2
k=0
For j=2 to Fix(Sqr(i))
If i mod j=0 Then
k=k+1
End If
Next
If k=0 Then
s=s&" "&i
End if
Next
MsgBox s,,"Результат: "
Пример 13
'Имя файла: Mnoziteli.vbs
'Программа нахождения всех простых множителей целого положительного 'числа
'Программа учитывает множество условий неправильного ввода
IF boolic THEN 'если мы ввели число, то...
x=CDbl(x)
x2=CLng(x) 'CLng округляет число до целого
If CDbl(x2)-x<>0 Then ' если число не целое изменим флаг
boolic=false
End if
If boolic and (x>1) Then 'если мы ввели мы ввели
'число целого типа, большее 1
m=2
i=0
s="Простые множители числа "&x&":"&vbCrLf
While m<=x 'ищем простые множители числа и записываем их в строку s
If x Mod m=0 Then
s=s&" "&m
x=x/m
i=i+1
Else m=m+1
End If
Wend
If i=1 Then
MsgBox "Число "&x&" нельзя разложить на простые"&_
"множители, так как оно само является простым числом.",,"Результат:"
Else
Msgbox s,,"Результат:"
End If
ElseIf boolic and (x=1) Then ' если введённое число равно 1, то...
MsgBox "Число 1 нельзя разложить на простые множители,"&_
" так как оно само является простым числом.",,"Результат:"
Else
MsgBox "Вы ввели неправильное значение x",vbCritical,"Ошибка"
End If
ELSE ' если введённое значение не числовое...
MsgBox "Вы ввели неправильное значение x",vbCritical,"Ошибка"
Битовые операции в языке Visual Basic
Как известно, числа в памяти хранятся в виде битовой последовательности и для ускорения работы, может потребоваться работать с битами на прямую, при помощи операторов AND, OR, XOR, NOT. Операции сдвигов (shift) двоичного числа в языке Visual Basic Script отсутствуют, но если двоичное число надо сдвинуть в право то можно использовать деление на 2 и соответственно умножение на 2, если сдвинуть надо влево.