- •Введение
- •Структура программы на 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 с.
- •Содержание
Пример 9
' Имя файла Find_4.vbs
' Бинарный поиск индекса заданного элемента одномерного "случайного"
' числового массива, строго упорядоченного по возрастанию (рекурсивный вариант).
Option Explicit
Dim i, s, key
Const n=8
Dim B (8)
'-------------------------------------------------------------------------------------
Function Bin_Search (B, low, high, x)
Dim mid
If low>high Then
Bin_Search=0
Else
mid=(low+high)\2
If x=B(mid) Then
Bin_Search=mid
Else
If x<B(mid) Then
Bin_Search=Bin_Search (B, low, mid-1, x)
Else
Bin_Search=Bin_Search (B, mid+1, high, x)
End If
End If
End If
End Function
'-------------------------------------------------------------------------------------
' Ввод одномерного массива, отсортированного строго по возрастанию
For i=0 to n
B(i)=CDbl(InputBox("Введите "&i&"-й элемент одномерного массива",_
"Ввод строго возрастающего вектора B:", i))
s=s&B(i)&" "
Next
s=s&vbCrLf
key=CDbl(InputBox("Введите искомый элемент: ","Окно ввода:", 5))
If Bin_Search (B, 1, n, key)=0 Then
MsgBox "Массив: "&s&vbCrLf&_
"Элемент "&key&" не найден в массиве!"
Else MsgBox "Массив: "&s&vbCrLf&_
"Элемент "&key&" найден в массиве!"&vbCrLf&_
"Его индекс в массиве: "&Bin_Search (B, 1, n, key)
End If
Пример 10
' Имя файла Mediana.vbs
' Поиск медианы в массиве.
' Реализация алгоритма Ч. Хоара.
' Медианой массива, содержащего N элементов, называется элемент, значение которого 'меньше (или равно) половины N элементов и больше (или равно) другой половины.
'Например, медианой массива 16 22 99 95 18 87 10 является 18. Задачу поиска медианы 'можно связать с сортировкой следующим образом: вначале произвести сортировку массива, 'а затем выбрать “средний элемент”. Но приведённая ниже программа позволяет найти 'медиану значительно быстрее.
Option Explicit
Dim i, s, k
Const n=8
Dim B (8)
'-------------------------------------------------------------------------------------
Sub Find (k)
Dim l, r, i, j, w, x
l=1 : r=n
While l<r
x=B(k) : i=l : j=r
Do
While B(i)<x
i=i+1
Wend
While x<B(j)
j=j-1
Wend
If i<=j Then
w=B(i) : B(i)=B(j) : B(j)=w : i=i+1 : j=j-1
End If
Loop Until i>j
If j<k Then
l=i
End If
If k<i Then
r=j
End If
Wend
End Sub
'-------------------------------------------------------------------------------------
' Заполнение одномерного массива случайными числами
For i=0 to n
Randomize
B(i)=Fix(Rnd(1)*20)
s=s&B(i)&" "
Next
s=s&vbCrLf
k=n\2
Find (k)
MsgBox "Массив: "&s&vbCrLf&_
"Медиана данного массива: "&B(k),_
vbInformation,_
"Результат: "