- •Введение
- •Структура программы на 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 с.
- •Содержание
Пример 8
' Имя файла Dynamic_Array.vbs
' Дана матрица A размерностью 4 на 3 и вектор B, состоящий из 4-х элементов.
' Сформировать новую матрицу A размерностью 4 на 4, которая бы содержала в себе
' матрицу A и вектор B, в качестве последнего столбца.
Option Explicit
Dim i, j
Dim B(3) ' объявление вектора B, состоящего из 4-х элементов
Dim A() ' объявление динамического массива А
'-------------------------------------------------------------------------------
Sub Input_Rnd_Arr (A)
' процедура заполнения двумерного массива целыми
' числами от 0 до 20, выбранными случайным образом
ReDim A (3, 2)
For i=0 to 3
For j=1 to 2
Randomize
A(i,j)=Fix(Rnd(1)*20)
Next
Next
End Sub
'-------------------------------------------------------------------------------
Sub Input_Rnd_Vec (B)
' процедура заполнения одномерного массива целыми
' числами от 0 до 20, выбранными случайным образом
For i=0 to 3
Randomize
B(i)=Fix(Rnd(1)*20)
Next
End Sub
'-------------------------------------------------------------------------------
Function Arr_to_Str (A)
' функция записи матрицы в строку s
Dim s
For i=0 to 3
For j=1 to 2
s=s&A(i,j)&" "
Next
s=s&vbCrLf
Next
Arr_to_Str=s
End Function
'-------------------------------------------------------------------------------
Function Vec_to_Str (B)
Dim s
' функция записи вектора в строку s
For i=0 to 3
s=s&B(i)&" "
Next
Vec_to_Str=s
End Function
'-------------------------------------------------------------------------------
Function New_Arr(A, B)
Dim s
' функция формирования новой матрицы A и запись её в строку s
ReDim Preserve A (3, 3)
A(0, 3)=B(0)
A(1, 3)=B(1)
A(2, 3)=B(2)
A(3, 3)=B(3)
For i=0 to 3
For j=1 to 3
s=s&A(i,j)&" "
Next
s=s&vbCrLf
Next
New_Arr=s
End Function
'-------------------------------------------------------------------------------
Input_Rnd_Arr A ' вызов процедуры ввода элементов матрицы A
Input_Rnd_Vec B ' вызов процедуры ввода элементов вектора B
MsgBox Vec_to_Str (B),,"Вектор B:"
MsgBox Arr_to_Str (A),,"Первоначальная матрица A:"
MsgBox New_Arr (A, B),,"Изменённая матрица A:"
6.4 Задачи для самостоятельного решения "Заполнение" массивов
-
Сформируйте двухмерный массив NxN по следующему правилу: элементы главной диагонали равны 1, ниже главной диагонали - 0, а выше - сумме индексов.
-
Заполнить квадратную матрицу A(n)(n) последовательными целыми числами от 1 до n2, расположенными по спирали, начиная с левого верхнего угла и продвигаясь против часовой стрелке:
-
1
20
19
18
17
16
2
21
32
31
30
15
3
22
33
36
29
14
4
23
34
35
28
13
5
24
25
26
27
12
6
7
8
9
10
11
(пример для n=6).
-
Заполнить квадратную матрицу A(n)(n) последовательными целыми числами от 1 до n2, расположенными по спирали, начиная с левого верхнего угла и продвигаясь по часовой стрелке:
-
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
(.пример для n=6)
-
Написать программу, которая заполняет таблицу Пифагора - квадратную матрицу из 10 строк и 10 столбцов, каждый элемент которой определяется формулой A(I)(J)=I*J. Полученную матрицу распечатать.
-
Получить квадратную матрицу M(n)(n):
-
1
2
3
4
5
...
n
2
1
2
3
4
...
n-1
3
2
1
2
3
...
n-2
4
3
2
1
2
...
n-3
5
4
3
2
1
...
n-4
n
n-1
n-2
n-3
n-4
...
1
Полученную матрицу распечатать.
-
Дана последовательность целых чисел 0, 1, 2, ..., n. Заполнить ими матрицу A(n)(n) следующим способом:
-
n
...
5
4
3
2
1
n-1
...
4
3
2
1
2
n-2
...
3
2
1
2
3
n-3
...
2
1
2
3
4
n-4
...
1
2
3
4
5
...........................
1
...
n-4
n-3
n-2
n-1
n
Полученную матрицу распечатать.
-
Получить квадратную матрицу A(n)(n), элементы главной диагонали которой является последовательностью целых чисел: n, n-1, ..., 1, а все остальные элементы равны 1.
Пример для n=5:
-
5
1
1
1
1
1
4
1
1
1
1
1
3
1
1
1
1
1
2
1
1
1
1
1
1
-
Дано натуральное число n. Заполнить матрицу A(n)(n) элементами последовательности n2, n2-1, ..., 1. Приведем пример заполнения для n=5:
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
-
Дано натуральное n. Построить матрицу A(n)(n) из нулей и единиц по правилу:
-
1
1
1
...
1
1
1
0
1
1
...
1
1
0
0
0
1
...
1
0
0
0
0
1
...
1
0
0
0
1
1
...
1
1
0
1
1
1
...
1
1
1
-
Дано натуральное n. Построить матрицу A(n)(n) следующим способом:
-
1
1
1
1
...
1
1
1
1
2
1
1
1
...
1
1
1
2
3
2
1
1
...
1
1
2
3
4
3
2
1
...
1
2
3
4
4
3
2
1
...
1
2
3
4
3
2
1
1
...
1
1
2
3
2
1
1
1
...
1
1
1
2
1
1
1
1
...
1
1
1
1
-
Дано натуральное n. Построить матрицу A(n)(n) по правилу:
а(i)(j)=max(i,j).
-
Постройте нерегулярный двухмерный массив из n строк по правилу:
(1) 1 2 3 4 5
1 2 3
1 2 3 4 5
1 2 3
1 2 3 4 5
1 2 3
...
(2) 1 2 3 ... n-2 n-1 n
1 2 3 ... n-2 n-1
1 2 3 ... n-2
............
1 2 3
1 2
1
(3) 1
2 3
4 5 6
7 8 9 10
11 12 13
14 15
16
17 18
19 20 21
22 23 24 25
26 27 28
...
(4) 1
2 n+1
3 n+2 2n
4 n+3 2n+1 ...
................
n 2n-1 3n-3 ...
(5) 10
11 12
13 14 15
16 17
18 19 20
21 22 23 24
25 26 27
28 29 30 31
32 33 34 35 36
37 38 39 40
41 42 43 44 45
46 47 48 49 50 51
..............
(6) n n-1 n-2 ... 3 2 1
n n-1 n-2 ... 3 2 1
n-1 n-2 n-3 ... 2 1
n-1 n-2 n-3 ... 2 1
n n-1 n-2 ... 3 2 1
n n-1 n-2 ... 3 2 1
n-1 n-2 n-3 ... 2 1
...................
(7) 1
1 2 3 ... n
1
1 2 3 ... n
1
1 2 3 ... n
...
(8) 0 0
1 2 3
0 0
1 2 3 4
0 0
1 2 3 4 5
0 0
1 2 3 4 5 6
0 0
...