- •Введение
- •Структура программы на 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 с.
- •Содержание
Пример 5
' Имя файла Shake_Sort.vbs
' Программа демонстрирует Шейкер-сортировку
Option Explicit
const N=8
dim a()
redim a(N)
dim x,i,j,k,l,r
randomize
For i=1 To N
a(i)=Cint(10*rnd(1))
next
dim s
s=""
For i=1 To N
s=s+CStr(i)+" --> "+Cstr(a(i))+";"+vbcrlf
next
l=2: r=N: k=N
DO
j=r
While Cint(j)>=Cint(l)
If Cint(a(j-1))>Cint(a(j)) Then
x=a(j-1)
a(j-1)=a(j)
a(j)=x
k=j
End If
j=j-1
Wend
l=k+1
For j=l to r
If CInt(a(j-1))>Cint(a(j)) Then
x=a(j-1)
a(j-1)=a(j)
a(j)=x
k=j
End If
Next
r=k-1
LOOP UNTIL Cint(l)>Cint(r)
dim s1
s1=""
For i=1 To N
s1=s1+CStr(i)+" --> "+Cstr(a(i))+";"+vbcrlf
Next
MsgBox "Неотсортированный массив:"&vbCrLf&_
s&vbcrlf&vbcrlf&"Отсортированный:"&vbCrLf&_
s1,0,"Сортировка массива по Шейкеру:"
Пример 6
' Имя файла Find_1.vbs
' Линейный поиск наименьшего индекса элемента с заданным значением
' в "случайном" массиве.
Option Explicit
Dim i, s, x, Q
Const n=6
Dim B (6)
' Заполнение одномерного массива случайными числами
For i=0 to n
Randomize
B(i)=Fix(Rnd(1)*20)
s=s&B(i)&" "
Next
s=s&vbCrLf
' Начало алгоритма поиска
x=InputBox("Введите искомый элемент: ","Окно ввода:", 5)
i=0
Do
i=i+1 : Q=CInt(B(i))=CInt(x)
Loop Until (Q or (i=n))
If Q Then
MsgBox "Массив: "&s&vbCrLf&_
"Элемент "&x&" найден в массиве!"&vbCrLf&_
"Его минимальный индекс в массиве: "&i
Else MsgBox "Массив: "&s&vbCrLf&_
"Элемент "&x&" не найден в массиве!"
End If
Пример 7
' Имя файла Find_2.vbs
' Линейный поиск с "барьером" наименьшего индекса элемента с заданным значением
' в "случайном" массиве.
Option Explicit
Dim i, s, x, Q
Const n=6
Dim B (6)
' Заполнение одномерного массива случайными числами
For i=0 to n-1
Randomize
B(i)=Fix(Rnd(1)*20)
s=s&B(i)&" "
Next
s=s&vbCrLf
' Начало алгоритма поиска
x=InputBox("Введите искомый элемент: ","Окно ввода:", 5)
i=-1 : B(n)=x
Do
i=i+1
Loop Until CInt(B(i))=Cint(B(n))
If i<>n Then
MsgBox "Массив: "&s&vbCrLf&_
"Элемент "&x&" найден в массиве!"&vbCrLf&_
"Его минимальный индекс в массиве: "&i
Else MsgBox "Массив: "&s&vbCrLf&_
"Элемент "&x&" не найден в массиве!"
End If
Пример 8
' Имя файла Find_3.vbs
' Бинарный поиск индекса заданного элемента
' одномерного "случайного" числового массива, строго
' упорядоченного по возрастанию (нерекурсивный вариант).
' Число требуемых сравнений в методе бинарного поиска в среднем значительно
' меньше, чем при линейном поиске, а точнее говоря,
' не более чем логарифм n по основанию два вместо n в программе Find_2.vbs
Option Explicit
Dim i, j, s, x, Q, k
Const n=8
Dim B (8)
For i=0 to n
B(i)=CDbl(InputBox("Введите "&i&"-й элемент одномерного массива",_
"Ввод строго возрастающего вектора A:", i))
s=s&B(i)&" "
Next
s=s&vbCrLf
' Начало алгоритма поиска
x=CDbl(InputBox("Введите искомый элемент: ","Окно ввода:", 5))
i=0 : Q=False : j=n
Do
k=(i+j)\2
If B(k)=x Then
Q=True
Else
If B(k)<x Then
i=k+1
Else j=k-1
End If
End If
Loop Until Q or (i>j)
If Q Then
MsgBox "Массив: "&s&vbCrLf&_
"Элемент "&x&" найден в массиве!"&vbCrLf&_
"Его минимальный индекс в массиве: "&i
Else MsgBox "Массив: "&s&vbCrLf&_
"Элемент "&x&" не найден в массиве!"
End If