Согласно приоритету операций, слева направо, с учетом скобок 4 страница
На листе 1 книги выполните подрограмму и полученное в ячейке B15 значение введите в ответ теста.
Решение:
Public Sub Proc2()
Dim a As Range, i As Variant, s As Double
Set a = Selection
s = 0
For Each i In a
If i Mod 2 = 0 And i > 0 Then s = s + 1
Next i
Cells(15, 2).Value = s
End Sub
Ответ: 7
Задание 4
В книге Excel "Данные к тесту VBA", размещенной в учебных материалах к модулю, составьте функцию VBA с именем Fun10, которая в заданном диапазоне активного Листа Excel вычисляет сумму чисел, кратных заданному числу К.
Заголовок функции, который должен иметь вид: Function fun10(A As Variant, K), уже создан в модуле 1, необходимо только записать тело процедуры.
На листе 1 книги выполните функцию и полученное в ячейке B13 значение введите в ответ теста.
Решение:
Public Function fun10(a As Variant, k As Double)
Dim s As Double, i As Variant
c = 0
For Each i In a
If i Mod k = 0 Then s = s + i
Next i
fun10 = s
End Function
Ответ: 5
Задание 5
В книге Excel "Данные к тесту VBA", размещенной в учебных материалах к модулю, составьте функцию VBA с именем Fun9, которая в заданном диапазоне Листа Excel вычисляет сумму положительных чисел диапазона.
Заголовок функции, который должен иметь вид: Function fun9(A As Variant), уже создан в модуле 1, необходимо только записать тело процедуры.
На листе 1 книги выполните функцию и полученное в ячейке B12 значение введите в ответ теста.
Решение:
Public Function fun9(a As Variant) As Double
Dim s As Double, i As Variant
s = 0
For Each i In a
If i > 0 Then s = s + i
Next i
fun9 = s
End Function
Ответ:25
Задание 7
В книге Excel "Данные к тесту VBA", размещенной в учебных материалах к модулю, составьте подпрограмму VBA с именем Proc2, которая в выделенном диапазоне активного Листа Excel вычисляет сумму четных отрицательных чисел. Результат процедура должна вернуть в ячейку B15.
|
|
Заголовок процедуры, который должен иметь вид: Procedure Proc2(), уже создан в модуле 2, необходимо только записать тело процедуры.
На листе 1 книги выполните подрограмму и полученное в ячейке B15 значение введите в ответ теста.
Решение:
Public Sub Proc2()
Dim a As Range, i As Variant, s As Double
Set a = Selection
s = 0
For Each i In a
If i Mod 2 = 0 And i < 0 Then s = s + i
Next i
Cells(15, 2).Value = s
End Sub
Ответ: -6
Задание 8:
В книге Excel "Данные к тесту VBA", размещенной в учебных материалах к модулю, составьте функцию VBA с именем Fun9, которая в заданном диапазоне Листа Excel вычисляет количество положительных чисел диапазона.
Заголовок функции, который должен иметь вид: Function fun9(A As Variant), уже создан в модуле 1, необходимо только записать тело процедуры.
На листе 1 книги выполните функцию и полученное в ячейке B12 значение введите в ответ теста.
Решение:
Public Function fun9(a As Variant) As Double
Dim s As Double, i As Variant
s = 0
For Each i In a
If i > 0 Then s = s + 1
Next i
fun9 = s
End Function
Ответ: 8
Задание 9:
В книге Excel "Данные к тесту VBA", размещенной в учебных материалах к модулю, составьте подпрограмму VBA с именем Proc1, которая в диапазоне K1:N4 активного Листа Excel вычисляет сумму отрицательных чисел. Результат процедура должна вернуть в ячейку B14.
|
|
Заголовок процедуры, который должен иметь вид: Procedure Proc1(), уже создан в модуле 2, необходимо только записать тело процедуры.
На листе 1 книги выполните подрограмму и полученное в ячейке B14 значение введите в ответ теста.
Решение:
Public Sub Proc1()
Dim a As Range, i As Variant, s As Double
Set a = Range("K1:N4")
s = 0
For Each i In a
If i < 0 Then s = s + i
Next i
Cells(14, 2).Value = s
End Sub
Ответ: -6
Задание 10:
В книге Excel "Данные к тесту VBA", размещенной в учебных материалах к модулю, составьте подпрограмму VBA с именем Proc2, которая в выделенном диапазоне активного Листа Excel находит наибольшее число. Результат процедура должна вернуть в ячейку B15.
Заголовок процедуры, который должен иметь вид: Procedure Proc2(), уже создан в модуле 2, необходимо только записать тело процедуры.
На листе 1 книги выполните подрограмму и полученное в ячейке B15 значение введите в ответ теста.
Решение:
Public Sub Proc2()
Dim a As Range, i As Variant, s As Double
Set a = Selection
Max = a(1, 1)
For Each i In a
If i > Max Then Max = i
Next i
Cells(15, 2).Value = Max
End Sub
Ответ: 140
Задание 1,2
В книге Excel "Данные к тесту VBA", размещенной в учебных материалах к модулю, доработайте пользовательскую форму VBA с именем UserForm2 (уже создана), которая на интервале от M до N находит сумму простых чисел. Результат должен быть получен в текстовом поле TextBox3 (Результат).
|
|
Имена полей, форм и кнопок изменять не надо. Требуется только написать операторы в тело процедуры кнопки Выполнить, уже созданой в форме UserForm2.
На листе 1 книги выполните форму UserForm2 и полученное в ячейке B19 значение введите в ответ теста.
Решение:
Открываем Userform2, 2 раза щёлкаем по кнопке Выполнить
Сначала пишем прогу для простых чисел
Public Function prostoe(ByVal n As Long) As Boolean
Dim i As Long
prostoe = True
If n > 1 Then
For i = 2 To Sqr(n)
If n Mod i = 0 Then
prostoe = False
Exit For
End If
Next i
Else
prostoe = False
End If
End Function
Потом пишем форму
Private Sub CommandButton1_Click()
m = Val(TextBox1.Text)
n = Val(TextBox2.Text)
Dim i As Long, s As Double
s = 0
For i = m To n
If prostoe(i) = True Then s = s + i
Next i
TextBox3.Text = Format(s)
End Sub
Нажимаем выполнить UserForm2 и, в появившемся окне, нажимаем на выполнить
Ответ: Сумма простых: 72
Если нужно найти количество, то вместо этого If prostoe(i) = True Then s = s + i, пишем If prostoe(i) = True Then s = s + 1
Ответ: Количество: 6
Задание 3,4.
В книге Excel "Данные к тесту VBA", размещенной в учебных материалах к модулю, доработайте пользовательскую форму VBA с именем UserForm1 (уже создана), которая среди трех заданых в форме чисел A, B, C, задающих коэффициенты квадратного уравнения, находит сумму корней уравнения. Если корней не существует, возвращает сово "нет". Результат должен быть получен в текстовом поле TextBox4 (Результат).
|
|
Имена полей, форм и кнопок изменять не надо. Требуется только написать операторы в тело процедуры кнопки Выполнить, уже созданой в форме UserForm1.
На листе 1 книги выполните форму UserForm1 и полученное в ячейке B18 значение введите в ответ теста.
Решение:
Private Sub CommandButton1_Click()
a = Val(TextBox1.Text)
b = Val(TextBox2.Text)
c = Val(TextBox3.Text)
Dim d As Double, x1 As Double, x2 As Double, s As Double
d = b ^ 2 - 4 * a * c
If d >= 0 Then
x1 = (-b + Sqr(d)) / (2 * a)
x2 = (-b - Sqr(d)) / (2 * a)
s = x1 + x2
TextBox4.Text = Format(s)
Else
TextBox4.Text = "Нет"
End If
End Sub
Ответ: 8
Если произведение корней, то вместо этого s = x1 + x2, пишем s = x1 * x2
Ответ: 15
Задание 1
В книге Excel "Данные к тесту VBA" из учебных материалов к модулю, составьте функцию VBA в модуле 1 с именем fun1_1 (вставьте нужные операторы в загововки уже созданной функции), которая вычисляет выражение по формуле:
1-x^2
fun1_1 = ----------
2 - 3x
На листе 1 книги выполните функцию и полученное в ячейке B4 значение введите в ответ теста. Дробная часть числа от целой отделяется запятой. Правильно 1 / 1
Решение:
Public Function fun1_1(x)
fun1_1 = (1 - x ^ 2) / (2 - 3 * x)
End Function
Задание 2
В книге Excel "Данные к тесту VBA" из учебных материалов к модулю, составьте функцию VBA в модуле 1 с именем fun5_1, которая вычисляет сумму S=1-2^3+3^3-...-n^3.
Заголовок функции, который должен иметь вид: Function fun5_1(n), уже создан в модуле 1, необходимо только записать тело процедуры.
На листе 1 книги выполните функцию и полученное в ячейке B8 значение введите в ответ теста.
Правильно 1 / 1
Решение:
Public Function fun5_1(N As Integer)
Dim s As Double
Dim i As Integer
Dim z As Integer
s = 0
z = 1
For i = 1 To N
s = s + z * (i ^ 3)
z = -z
Next i
fun5_1 = s
End Function
Задание:
В книге Excel "Данные к тесту VBA" из учебных материалов к модулю, составьте функцию VBA в модуле 1 с именем fun8_1, которая подсчитывает количество русских букв "а" и "е" в заданом тексте S.
Заголовок функции, который должен иметь вид: Function fun8_1(S As String), уже создан в модуле 1, необходимо только записать тело процедуры.
На листе 1 книги выполните функцию и полученное в ячейке B11 значение введите в ответ теста. Правильно 1 / 1
Решение:
Public Function fun8_1(s As String)
Dim i As Integer
Dim p As Integer
p = 0
For i = 1 To Len(s)
If Mid(s, i, 1) = "a" Then
p = p + 1
ElseIf Mid(s, i, 1) = "e" Then
p = p + 1
End If
Next i
fun8_1 = p
End Function
Задание:
В книге Excel "Данные к тесту VBA" из учебных материалов к модулю, составьте функцию VBA с именем fun3_1 для нахождения из трех произвольных чисел A, B, C суммы двух найбольших чисел.
Заголовок функции, который должен иметь вид: Function fun3_1(a,b,c), уже создан в модуле 1, необходимо только записать тело процедуры.
На листе 1 книги выполните функцию и полученное в ячейке B6 значение введите в ответ теста.
Решение:
Public Function fun3_1(a, b, c)
If a < b Then
fun3_1 = c + b
Else
If b < c Then
fun3_1 = c + a
Else
fun3_1 = b + a
End If
End If
End Function
Задание:
В книге Excel "Данные к тесту VBA", размещенной в учебных материалах к модулю, составьте подпрограмму VBA с именем Proc1, которая в диапазоне L1:R4 активного Листа Excel находит наибольшее число. Результат процедура должна вернуть в ячейку B14.
Заголовок процедуры, который должен иметь вид: Procedure Proc1(), уже создан в модуле 2, необходимо только записать тело процедуры.
На листе 1 книги выполните подрограмму и полученное в ячейке B14 значение введите в ответ теста.
Решение:
Public Sub Proc1()
Dim a As Range, i As Variant, s As Double
Set a = Range("L1:R4")
Max = a(1, 1)
For Each i In a
If i > Max Then Max = i
Next i
Cells(14, 2).Value = Max
End Sub
Задание:
В книге Excel "Данные к тесту VBA", размещенной в учебных материалах к модулю, доработайте пользовательскую форму VBA с именем UserForm2 (уже создана), которая на отрезке [m+20;n] находит сумму простых чисел. Результат должен быть получен в текстовом поле TextBox3 (Результат).
Имена полей, форм и кнопок изменять не надо. Требуется только написать операторы в тело процедуры кнопки Выполнить, уже созданой в форме UserForm2.
На листе 1 книги выполните форму UserForm2 и полученное в ячейке B19 значение введите в ответ теста.
Решение:
Private Sub CommandButton1_Click()
M = Val(TextBox1.Text) + 20
N = Val(TextBox2.Text)
Dim i As Long, s As Double
s = 0
For i = M To N
If prostoe(i) = True Then s = s + i
Next i
TextBox3.Text = Format(s)
End Sub
Private Sub CommandButton2_Click()
UserForm2.Hide
End Sub
Public Function prostoe(ByVal N As Long) As Boolean
Dim i As Long
prostoe = True
If N > 1 Then
For i = 2 To Sqr(N)
If N Mod i = 0 Then
prostoe = False
Exit For
End If
Next i
Else
prostoe = False
End If
End Function
Задание:
В книге Excel "Данные к тесту VBA" из учебных материалов к модулю, составьте функцию VBA в модуле 1 с именем fun7_1, которая вычисляет количество простых чисел на отрезке [10..N].
Заголовок функции, который должен иметь вид: Function fun7_1(n), уже создан в модуле 1, необходимо только записать тело процедуры.
На листе 1 книги выполните функцию и полученное в ячейке B10 значение введите в ответ теста.
Решение:
Public Function fun7_1(n As Long)
Dim s As Long
Dim i As Long
Dim str As String
s = 0
str = 0
For i = 10 To n
For j = 1 To i
If i Mod j = 0 Then
s = s + 1
End If
Next j
If s = 2 Then str = str + 1
s = 0
Next i
fun7_1 = str
End Function
Задание:
В книге Excel "Данные к тесту VBA" из учебных материалов к модулю, составьте функцию в модуле 1 с именем fun1_1 на VBA (вставьте нужные операторы в загововки уже созданной функции), которая вычисляет выражение по формуле:
(2x+1)^2
fun1_1 = ------------ - (x+2)^3
x+1
На листе 1 книги выполните функцию и полученное в ячейке B4 значение введите в ответ теста.
Решение:
Public Function fun1_1(x As Double) As Double
fun1_1 = (((2 * x + 1) ^ 2) / (x + 1)) - ((x + 2) ^ 3)
End Function
Тест 5_1.
Вопрос 1
Каких типов данных не существует в языке VBA:
· variant
· case
· longint
· single
Вопрос 2
Определить значения следующего арифметического выражения на VBA:
26 \ 4 * 2 + 19 mod 3
Ответ: 14
Вопрос 3
Дана последовательность операторов VBA:
x = 12 mod 5
If x = 0 Then x = 2 ^ x - 1
If x > 1 Then y = x ^ 2
If x > 2 Then y = x + 2 / x - 1
Ответ: 4
4) Если значение переменной а равно 6, то какое значение получит переменная b при выполнении оператора:
Select Case a
Case 5
b = 1
Case 3 to 15
b = 2
Case Is > 5
b = 3
Case 2, 4, 6, 8, 10
b = 4
End Select
Ответ: 2
5) Функция Sqr(число) возвращает:
· квадратный корень из числа
· квадрат числа
· дробную часть числа
· целую часть числа
Вопрос 6
В книге Excel "Данные к тесту VBA" из вспогательного материала к тесту, составьте функцию VBA в модуле 1 с именем fun1 (вставьте нужные операторы в заголовки уже созданной функции), которая вычисляет выражение по формуле:
1-x^2
fun1 = ---------
2 - 3x
На листе 1 книги выполните функцию и полученное в ячейке B4 значение введите в ответ теста. Дробная часть числа от целой отделяется запятой.
Решение:
Public Function fun1(x As Double) As Double
fun1 = (1 - x ^ 2) / (2 - 3 * x)
End Function
Ответ: -1
Вопрос 7.
В книге Excel "Данные к тесту VBA" из учебных материалов к модулю, составьте функцию в модуле 1 с именем fun2 на VBA (вставьте нужные операторы в загововки уже созданной функции), которая вычисляет выражение по формуле: если x больше 0, то fun2=(1-2x)/(2+x), иначе fun2=Sin(3x)-1
На листе 1 книги выполните функцию и полученное в ячейке B5 значение, округленное до сотых, введите в ответ теста. Дробная часть числа от целой отделяется запятой.
Решение:
Public Function fun2(x As Double) As Double
If x > 0 Then
fun2 = (1 - 2 * x) / (2 + x)
Else
fun2 = Sin(x) * 3 - 1
End If
End Function
Ответ: -1,69
Вопрос 8
В книге Excel "Данные к тесту VBA" из учебных материалов к модулю, составьте функцию VBA с именем fun3 для нахождения минимального произведения двух чисел из трех произвольных чисел A, B, C.
Заголовок функции, который должен иметь вид: Function fun3(a,b,c), уже создан в модуле 1, необходимо только записать тело процедуры.
На листе 1 книги выполните функцию и полученное в ячейке B6 значение введите в ответ теста.
Решение:
Public Function fun3(a As Double, b As Double, c As Double) As Double
If a < c And b < c Then
fun3 = a * b
Else
If b < a And c < a Then
fun3 = b * c
Else
fun3 = a * c
End If
End If
End Function
Ответ: 26
Вопрос 9
В сложных выражениях операции выполняются по следующем правилам:
согласно скобок, а если их нет - слева направо
сначала числовые операции, затем строковые и последними - логические
от простых к сложным
Дата добавления: 2015-12-17; просмотров: 27; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!