Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Информатика / VBA.Контрольный тест 5_4-5_5

.docx
Скачиваний:
243
Добавлен:
01.03.2016
Размер:
18.1 Кб
Скачать

Задание 1

В книге 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 Mod 2 = 0 Then s = s + 1

Next i

fun9 = s

End Function

Ответ: 7

Задание 2

В книге Excel "Данные к тесту VBA", размещенной в учебных материалах к модулю, составьте подпрограмму VBA с именем Proc1, которая в диапазоне K1:L4 активного Листа Excel находит наименьшее число. Результат процедура должна вернуть в ячейку B14.

Заголовок процедуры, который должен иметь вид: Procedure Proc1(), уже создан в модуле 2, необходимо только записать тело процедуры.

На листе 1 книги выполните подрограмму и полученное в ячейке B14 значение введите в ответ теста.

Решение:

Public Sub Proc1()

Dim a As Range, i As Variant, s As Double

Set a = Range("K1:L4")

Min = a(1, 1)

For Each i In a

If i < Min Then Min = i

Next i

Cells(14, 2).Value = Min

End Sub

Ответ: -2

Задание 3

В книге 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 + 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