
- •Тема 1. Введение в технологии программирования в среде Visual Basic for Applications (vba)
- •Тема 2. Использование макросов
- •Тема 3. Редактор vba
- •Тема 4. Пользовательские функции
- •Тема 5. Основы программирования на vba
- •Тема 6. Технологии программирования простых циклических алгоритмов в vba
- •Тема 7. Обработка двумерных массивов
Тема 5. Основы программирования на vba
Для описания переменной вещественного типа используется ключевое слово:
- String;
- Long;
- Single.
Для описания переменной целого типа используется ключевое слово:
- Integer;
- String;
- Single.
Наличие в разделе описаний модуля директивы Option Explicit позволяет:
- не описывать переменные в модуле;
- наложить требование на явное описание всех переменных модуля;
- локализовать ошибки при выполнении проекта.
Какое окно ввода будет выведено при выполнении следующего оператора?
S
= InputBox("Ввод строки", "Строка",
"Пример")
Какое окно вывода будет получено при выполнении следующего оператора?
M
sgBox
"Пример", vbYesNoCancel + vbCritical +
vbDefaultButton2,"Задача"
Какое окно вывода будет получено при выполнении следующего оператора?
M
sgBox
"Задача", vbOKCancel + vbInformation +
vbDefaultButton1, "Пример"
Тема 6. Технологии программирования простых циклических алгоритмов в vba
Какое окно вывода соответствует нижеприведенной программе?
Sub Табуляция1()
Dim x As Single, xn As Single, xk As Single, dx As Single, y As Single
xn = InputBox("Введите начальное значение x", "Табуляция")
xk = InputBox("Введите конечное значение x", "Табуляция")
dx = InputBox("Введите шаг изменения x", "Табуляция")
x = xn
While x < (xk + dx / 1000)
y = 2 * x
MsgBox "x=" & x & " y=" & y
x = x + dx
Wend
E
nd
Sub
Какое окно вывода соответствует нижеприведенной программе?
Sub Табуляция2()
Dim x As Single, xn As Single, xk As Single, dx As Single, y As Single
xn = InputBox("Введите начальное значение x", "Табуляция")
xk = InputBox("Введите конечное значение x", "Табуляция")
dx = InputBox("Введите шаг изменения x", "Табуляция")
s = " x " & " y"
x = xn
While x < (xk + dx / 1000)
y = 2 * x
s = s & Chr(13) & x & " " & y
x = x + dx
Wend
MsgBox s
E
nd
Sub
Какое окно вывода соответствует нижеприведенной программе?
Sub Табуляция3()
Dim x As Single, xn As Single, xk As Single, dx As Single, y As Single
Dim N As Integer, i As Integer
xn = InputBox("Введите начальное значение x", "Табуляция")
xk = InputBox("Введите конечное значение x", "Табуляция")
dx = InputBox("Введите шаг изменения x", "Табуляция")
x = xn
N = Fix((xk - xn) / dx) + 1
Cells(1, 1) = "N": Cells(1, 2) = "x": Cells(1, 3) = "y"
For i = 1 To N Step 1
y = 2 * x
Cells(1 + i, 1) = i: Cells(1 + i, 2) = x: Cells(1 + i, 3) = y
x = x + dx
Next i
E
nd
Sub
Какую задачу решает нижеприведенная программа?
Option Explicit
Option Base 1
Sub ВводВыводМассива()
Dim A(10) As Integer
Dim I As Integer
Dim N As Integer
Dim C As String
C = "Исходный массив"
N = InputBox("Количество элементов массива?")
For I = 1 To N
A(I) = InputBox("A(" & I & ")=?")
C = C & vbCr & I & vbTab & A(I)
Next I
MsgBox C
End Sub
- ввод элементов одномерного целочисленного массива и вывод введенных значений в последовательность окон вывода;
- ввод элементов одномерного целочисленного массива и вывод введенных значений в одно окно вывода;
- ввод элементов одномерного вещественного массива и вывод введенных значений в одно окно вывода.
Какую задачу решает нижеприведенная программа?
Option Explicit
Option Base 1
Sub ВводВыводМассива()
Dim A(10) As Single
Dim I As Integer
Dim N As Integer
Dim C As String
C = "Исходный массив"
N = InputBox("Количество элементов массива?")
For I = 1 To N
A(I) = InputBox("A(" & I & ")=?")
C = C & vbCr & I & vbTab & A(I)
Next I
MsgBox C
End Sub
- ввод элементов одномерного целочисленного массива и вывод введенных значений в последовательность окон вывода;
- ввод элементов одномерного целочисленного массива и вывод введенных значений в одно окно вывода;
- ввод элементов одномерного вещественного массива и вывод введенных значений в одно окно вывода.
Какую задачу решает нижеприведенный фрагмент программы?
X = A(1)
K = 1
For I = 2 To N
If A(I) < X Then
X = A(I)
K = I
End If
Next I
- нахождение в одномерном массиве максимального элемента и определение его номера;
- подсчет в одномерном массиве количества элементов, меньших Х;
- нахождение в одномерном массиве минимального элемента и определение его номера.
Какую задачу решает нижеприведенный фрагмент программы?
X = A(1)
K = 1
For I = 2 To N
If A(I) > X Then
X = A(I)
K = I
End If
Next I
- нахождение в одномерном массиве максимального элемента и определение его номера;
- подсчет в одномерном массиве количества элементов, меньших Х;
- нахождение в одномерном массиве минимального элемента и определение его номера.
Какую задачу решает нижеприведенный фрагмент программы?
K = 0
For I = 1 To N
If A(I) > 0 Then
K = K + 1
End If
Next I
- подсчет количества ненулевых чисел в одномерном массиве;
- подсчет количества положительных чисел в одномерном массиве;
- вычисление суммы положительных чисел в одномерном массиве.
Какую задачу решает нижеприведенный фрагмент программы?
K = 0
For I = 1 To N
If A(I) > 0 Then
K = K + 1
B(K) = A(I)
End If
Next I
- формирование нового массива из ненулевых элементов заданного одномерного массива;
- подсчет количества положительных чисел в одномерном массиве;
- формирование нового массива из положительных элементов заданного одномерного массива.
Какую задачу решает нижеприведенный фрагмент программы?
Sum = 0
For I = 1 To N
If A(I) > C Then
Sum = Sum + A(I) ^ 2
End If
Next I
- вычисление суммы квадратов элементов одномерного массива, больших С;
- вычисление суммы элементов одномерного массива, больших квадрата С;
- вычисление квадрата суммы элементов одномерного массива, больших С.
Какую задачу решает нижеприведенный фрагмент программы?
S = 0
For I = 2 To N Step 2
If A(I) < 0 Then
S = S + A(I)
End If
Next I
- вычисление суммы отрицательных элементов одномерного массива, стоящих на нечетных местах;
- вычисление суммы отрицательных элементов одномерного массива, стоящих на четных местах;
- вычисление суммы положительных элементов одномерного массива, стоящих на четных местах.
Какую задачу решает нижеприведенный фрагмент программы?
S = 0
For I = 1 To N Step 2
If A(I) < 0 Then
S = S + A(I)
End If
Next I
- вычисление суммы положительных элементов одномерного массива, стоящих на нечетных местах;
- вычисление суммы отрицательных элементов одномерного массива, стоящих на четных местах;
- вычисление суммы отрицательных элементов одномерного массива, стоящих на нечетных местах;