ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
ДЕМОНСТРАЦИОННЫЕ ПРИМЕРЫПример 1 'Имя файла Input_Output_1.vbs 'Программа содержит процедуру ввода и процедуру вывода одномерного массива (вектора)
Option Explicit Dim A(4) ' объявление одномерного массива А Const k=4 ' k-индекс последнего элемента в векторе '------------------------------------------------------------------------------- Sub Input (A) ' процедура ввода элементов вектора с клавиатуры ' процедура с параметрами ' A-параметр, передаваемый по ссылке ' k-глобальная константа Dim i ' параметр цикла For i=0 to k A(i)=CDbl(InputBox("Введите "&i&"-й элемент одномерного массива","Ввод “&_ “вектора A:",5)) Next End Sub '------------------------------------------------------------------------------- Sub Output (A) ' процедура вывода на экран элементов вектора ' процедура с параметрами ' A-параметр, передаваемый по ссылке ' k-глобальная константа Dim i ' параметр цикла Dim s ' строковая переменная, в которой будет сохранён массив For i=0 to k s=s+CStr(A(i))+" " Next MsgBox "Вы ввели одномерный массив:"&vbCrLf&_ s,_ vbExclamation,_ "Вывод вектора A:" End Sub '------------------------------------------------------------------------------- Input A ' вызов процедуры ввода элементов массива Output A ' вызов процедуры вывода элементов массива Пример 2 'Имя файла Input_Output_2.vbs 'Программа содержит процедуру ввода и процедуру вывода двумерного массива (матрицы) Option Explicit Dim A(4, 5) ' объявление двумерного массива А Const m=4 ' m, n -индексы последнего элемента матрицы Const n=5 '------------------------------------------------------------------------------- Sub Input (A) ' процедура ввода элементов матрицы с клавиатуры ' процедура с параметрами ' A-параметр, передаваемый по ссылке ' m, n -глобальные константы Dim i, j For i=0 to m For j=0 to n A(i,j)=CDbl(InputBox("Введите элемент A("&i&","&j&")","Ввод матрицы A:",5)) Next Next End Sub '------------------------------------------------------------------------------- Sub Output (A) ' процедура вывода на экран элементов матрицы ' процедура с параметрами ' A-параметр, передаваемый по ссылке ' m, n -глобальные константы Dim i, j Dim s ' строковая переменная, в которой будет сохранён массив For i=0 to m For j=0 to n s=s+CStr(A(i,j))+" " Next s=s&vbCrLf Next MsgBox "Вы ввели двухмерный массив:"&vbCrLf&_ s,_ vbExclamation,_ "Вывод матрицы A:" End Sub '------------------------------------------------------------------------------- Input A ' вызов процедуры ввода элементов массива Output A ' вызов процедуры вывода элементов массива Пример 3 ' Имя файла Min_Max.vbs ' Программа находит минимальный и максимальный элемент вектора Option Explicit Dim s, i Dim A(4) ' объявление одномерного массива А Const k=4 ' k-индекс последнего элемента в векторе '------------------------------------------------------------------------------- Sub Input_Rnd (A) ' процедура заполнения одномерного массива целыми ' числами от 0 до 20, выбранными случайным образом Dim i For i=0 to k Randomize A(i)=Fix(Rnd(1)*20) Next End Sub '------------------------------------------------------------------------------- Function Min (A) Dim i Min=A(0) For i=1 to k If A(i)<Min Then Min=A(i) End If Next End Function '------------------------------------------------------------------------------- Function Max (A) Dim i Max=A(0) For i=1 to k If A(i)>Max Then Max=A(i) End If Next End Function '------------------------------------------------------------------------------- Input_Rnd A ' вызов процедуры ввода элементов массива ' Вывод введённого вектора: For i=0 to k s=s+CStr(A(i))+" " Next MsgBox "Вектор, полученный случайным образом:"&vbCrLf&_ s&vbCrLf&_ "Минимальный элемент данного вектора: "&Min (A)&vbCrLf&_ "Максимальный элемент данного вектора: "&Max (A)&vbCrLf,_ vbExclamation,_ "Результат:" Пример 4 'Имя файла Simple_Nombers.vbs 'Программа находит все простые числа в двумерном массиве (в матрице) Option Explicit Dim k, i, j, p, s Dim A(4, 5) ' объявление двумерного массива А Const m=4 ' m, n -индексы последнего элемента матрицы Const n=5 '------------------------------------------------------------------------------- Sub Input (A) ' Процедура ввода элементов матрицы с клавиатуры ' процедура с параметрами ' A-параметр, передаваемый по ссылке ' m, n -глобальные константы For i=0 to m For j=0 to n A(i,j)=CDbl(InputBox("Введите элемент A("&i&","&j&")","Ввод матрицы A:",5)) Next Next End Sub '------------------------------------------------------------------------------- Function Simple (k) ' Функция возвращает True, если число k окажется простым, и false - в противном случае Dim x Simple=True If k<>1 Then For x=2 to Int(sqr(k)) If k mod x =0 Then Simple=False End If Next Else Simple=False End If End Function '------------------------------------------------------------------------------- Input A ' Вызов процедуры ввода элементов матрицы ' В цикле происходит проверка, является ли элемент матрицы простым числом For i=0 to m For j=0 to n If Simple(A(i,j)) Then ' Вызов процедуры, которая проверяет, является ли A(i,j) ' простым числом p=p&A(i,j)&" " ' если да, то число записывается в строку p End If Next Next ' Выводим введённую матрицу и те элементы массива, которые являются простыми числами For i=0 to m For j=0 to n s=s+CStr(A(i,j))+" " Next s=s&vbCrLf Next MsgBox "Вы ввели двухмерный массив:"&vbCrLf&_ s&vbCrLf&_ "Элементы массива, которые являются простыми числами: "&vbCrLf&_ p,_ vbExclamation,_ "Результат:" Пример 5 'Имя файла Zero.vbs 'Программа определяет количество нулевых элементов двумерного массива (матрицы) Option Explicit Dim k, i, j, s Dim A(4, 5) ' объявление двумерного массива А Const m=4 ' m, n -индексы последнего элемента матрицы Const n=5 Вводим матрицу k=0 For i=0 to m For j=0 to n A(i,j)=CDbl(InputBox("Введите элемент A("&i&","&j&")","Ввод матрицы A:",5)) If A(i,j)=0 Then ' проверяем, нулевой ли элемент мы ввели k=k+1 ' счётчик нулевых элементов End If Next Next ' Выводим введённую матрицу и количество нулевых элементов For i=0 to m For j=0 to n s=s+CStr(A(i,j))+" " Next s=s&vbCrLf Next MsgBox "Вы ввели двухмерный массив:"&vbCrLf&_ s&vbCrLf&_ "Количество нулевых элементов в данной матрице: "&k,_ vbExclamation,_ "Результат:" Пример 6 ' Имя файла Difference.vbs ' Программа находит разность между произведением и суммой элементов целочисленного ' одномерного массива, состоящего из 5-ти положительных элементов Option Explicit Dim i, s Dim A(4) ' объявление одномерного массива А Const k=4 ' k-индекс последнего элемента в векторе '------------------------------------------------------------------------------- Sub Input_Rnd (A) ' процедура заполнения одномерного массива целыми ' числами от 0 до 20, выбранными случайным образом Dim i For i=0 to k Randomize A(i)=Fix(Rnd(1)*20) Next End Sub '------------------------------------------------------------------------------- Function Summa (A) Dim i, s For i=0 to k s=s+A(i) Next Summa=s End Function '------------------------------------------------------------------------------- Function Multiplication (A) Dim i, s s=1 For i=0 to k s=s*A(i) Next Multiplication=s End Function '------------------------------------------------------------------------------- Function Difference (multiplication, summa) Difference=multiplication-summa End Function '------------------------------------------------------------------------------- Input_Rnd A ' вызов процедуры ввода элементов массива ' Вывод введённого вектора: For i=0 to k s=s+CStr(A(i))+" " Next MsgBox "Вектор, полученный случайным образом:"&vbCrLf&_ s&vbCrLf&_ "Произведение элементов вектора: "&Multiplication (A)&vbCrLf&_ "Сумма элементов вектора: "&Summa (A)&vbCrLf&_ "Разность между произведением и суммой элементов данного”&_ “вектора:"&vbcrLf&_ Difference(multiplication (A), summa (A)),_ vbExclamation,_ "Результат:" Пример 7 ' Имя файла Array of Arrays.vbs ' Дана нерегулярная матрица: 1 3 -4 ' -2 5 5 7 ' 6 3 -6 ' 5 5 7 2 -8 ' Задача: Найти в данной матрице все отрицательные элементы и распечатать их вместе с 'индексами. Option Explicit ' Объявление матрицы как массива массивов Dim Arr(3) Arr(0)=Array(1, 3, -4) Arr(1)=Array(-2, 5, 5, 7) Arr(2)=Array(6, 3, -6) Arr(3)=Array(5, 5, 7, 2, -8) dim i, j, s ' В данном цикле организована проверка каждого элемента матрицы, является ли ' он отрицательным. если да, то данный элемент вместе со своими индексами сохраняется ' в строку s For i=0 to 3 For j=0 to UBound(Arr(i)) ' Функция UBound возвращает индекс последнего элемента ' в i-той строке If Arr(i)(j)<0 Then s=s&"A("&i&", "&j&") = "&Arr(i)(j)&vbCrLf End if Next Next ' Вывод исходной матрицы, а также найденных в ней отрицательных элементов, вместе ' с их индексами MsgBox "Дана матрица A:"&vbCrLf&_ " 1 3 -4"&vbCrLf&_ "-2 5 5 7"&vbCrLf&_ " 6 3 -6"&vbCrLf&_ " 5 5 7 2 -8"&vbCrLf&_ "Отрицательные элементы данной матрицы:"&vbCrLf&_ s,_ vbExclamation, "Результат:" Пример 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:"
Не нашли, что искали? Воспользуйтесь поиском:
|