- •Введение
- •Структура программы на 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 с.
- •Содержание
Пример 3
'Имя файла: Fib.vbs
'Задача: При помощи рекурсивной функции найти и вывести на экран
' к-й элемент последовательности Фибоначчи. Последовательность Фибоначчи:
' 1, 1, 2, 3, 5, 8, 13, ... Нумерация данных чисел начинается с 0.
'-----------------------------------------
FUNCTION Fib(k)
If k=0 or k=1 Then
Fib=1
Else
Fib=fib(k-1)+Fib(k-2)
End If End FUNCTION
'-----------------------------------------
dim k
k=Cint(InputBox("Введите k: ", "Вычисление к-го элемента посл-ти Фибоначчи: "))
MsgBox k&"-й"&" элемент последовательности фибоначчи: "&_
vbCrlf& Fib(k), vbInformation, "Результат: "
Пример 4
'Имя файла Koren.vbs
'Задача:'Вычислить, используя рекурсию: 'sqr(1+(n+1)*sgr(1+(n+2)*sqr(1+(n+3)*sqr(1+...
' где n - натуральное число,
' k - количество корней
'--------------------------------------
FUNCTION Kor(i, n)
If i=k Then
Kor=sqr(1+(n+k))
Else
Kor=sqr(1+(n+i)*Kor(i+1,n))
End If
End FUNCTION
'---------------------------------------
Dim n,k,i
n=CInt(InputBox("Введите натуральное число n: ", "Ввод параметров:","1"))
k=CInt(InputBox("Введите количество корней k: ", "Ввод параметров:","1"))
i=1
MsgBox "Значение вычисленного корня: "&CStr(Kor(i,n)), vbInformation, "Результат: "
5.4 Задачи для самостоятельного решения
-
Дано натуральное число n. Вычислите (2n)! и 2n!; при этом используйте рекурсивную функцию вычисления факториала.
-
Переделайте программу Fib.vbs, так чтобы она находила к-й член последовательности Фибоначчи, но последовательность начиналась бы не с 1, а с 0:
0, 1, 1, 2, 3, 5, 8, 13, 21, ...
-
Проверьте, будет ли к-й член последовательности Фибоначчи делиться на 5.
-
Опишите рекурсивную функцию Stepen(x,n), формальными параметрами которой являются вещественная переменная x и натуральная переменная n, вычисляющую величину xn следующим образом:
-
Напишите рекурсивную процедуру, при выполнении которой на экран будет выводиться отрезок натурального ряда чисел.
-
Напишите программу вычисления первого числа Фибоначчи, большего m (m>1), включающую рекурсивную функцию, которая основана на непосредственном использовании соотношения un=un-1+un-2.
-
Числа Фибоначчи второго порядка u0, u1, u2,... определяются следующим образом:
Напишите программу вычисления un для данного неотрицательного целого n. Используйте рекурсивную функцию.
-
Вычислите, используя рекурсию:
-
Опишите семантику приведённой ниже программы:
Function koren(i)
If i=0 Then
koren=sqr(11)
Else
koren=sqr(11-2*sqr(11+2*sqr(11-2*koren(i-1))))
End If
End Function
Dim n,k,i
i=CInt(InputBox("Введите количество рекурсий", "Ввод параметров","1"))
msgbox "Результат: "&koren(i)
Лабораторная работа 6. Массивы
6.1 Цель работы
Познакомиться с понятиями "массивы", закрепить практические навыки работы с одномерными и многомерными массивами
6.2 Теоретические сведения
Массив - это упорядоченный набор элементов. Массивы можно создавать из элементов любого типа (в отличие от многих других императивных языков программирования), и они могут иметь одно или несколько измерений.
Одномерный массив принято называть вектором, а двухмерный - матрицей.
Одномерный массив - это последовательность элементов любых типов. Каждому элементу массива соответствует индекс - целое неотрицательное число, определяющее его номер в последовательности. Первому элементу массива соответствует индекс 0. Во многих языках программирования элементы массива размещаются в памяти последовательно (другими словами, друг за другом).
Таблица 10 – Одномерный массив
0-й Элемент |
1-й элемент |
2-й элемент |
3-й элемент |
4-й элемент |
5-й элемент |
6-й элемент |
7-й элемент |
19,3 |
309,01 |
12,13 |
0,09 |
12,8 |
14 |
89,1 |
65 |
Данные, хранящиеся в таблице 10 олицетворяют собой одномерный массив, состоящий из 8-ми элементов.
Объявление одномерного массива имеет вид:
Dim NameArray1 (N)
где: 1) Dim - служебное слово (объявление переменной);
2) NameArray1 - имя переменной массива;
3) N – индекс последнего элемента в данном массиве
Зная все элементы одномерного массива, то его можно объявить и другим образом:
NameArray2=Array (Num1, Num2,…, NumN)
где: 1) NameArray2 - имя массива ;
2) Array – название функции языка VBS;
3) Num1 – 0-й элемент одномерного массива
Num2 – 1-й элемент одномерного массива
…
NumN – N-й элемент одномерного массива
Для доступа к данным, хранящимся в определённом элементе одномерного массива, следует указать имя массива и индекс элемента массива. Индекс всегда заключается в круглые скобки. Например, если вектор имеет имя Arr, то следующий оператор присваивает переменной x значение i-го элемента вектора Arr:
x=Arr(i), где i – индекс нужного элемента одномерного массива Arr
Пример:
Задача: расположить в памяти компьютера одномерный массив, состоящий из 7-ми элементов, каждый из которых соответствует соответственно дню недели:
“Понедельник” , “Вторник”, “Среда”, “Четверг”, “Пятница”, “Суббота”, “Воскресенье”
Программа:
1-й способ: |
2-й способ: |
Dim Arr1 (6) Arr1(0)= “Понедельник” Arr1(1)= “Вторник” Arr1(2)= “Среда” Arr1(3)= “Четверг” Arr1(4)= “Пятница” Arr1(5)= “Суббота” Arr1(6)= “Воскресенье” |
Dim Arr2 Arr2=Array(“Понедельник” ,_ “Вторник”, “Среда”,_ “Четверг”, “Пятница”,_ “Суббота”,_ “Воскресенье”) |
Замечание: Нумерация элементов в массиве (не только одномерном, но и в многомерном) начинается с 0, поэтому не стоит забывать, что i-тый элемент массива на самом деле по счёту является (i+1)-ым.
Примечание: Для получения имен дней недели лучше использовать функцию WeekDayName(i), которая возвращает название дня недели в соответствии с целочисленным параметром i. См. пример: 1Weekdays.vbs.
Например: WeekDayName(1)=Воскресенье