Согласно приоритету операций, слева направо, с учетом скобок



Вопрос 10

В книге Excel "Данные к тесту VBA" из учебных материалов к модулю, составьте функцию VBA с именем fun3 для нахождения из трех произвольных чисел A, B, C, задающих длины сторон треугольника, площади треугольника, если треугольник существует, в противном случае функция должна возвратить значение -1.

Заголовок функции, который должен иметь вид: Function fun3(a,b,c), уже создан в модуле 1, необходимо только записать тело процедуры.

На листе 1 книги выполните функцию и полученное в ячейке B6 значение введите в ответ теста.

Решение:

 

Public Function fun3(a As Double, b As Double, c As Double) As Double

Dim p As Double

p = (a + b + c) / 2

If b + c > a And c + a > b And a + b > c Then

fun3 = (p * (p - a) * (p - b) * (p - c)) ^ 0.5

Else

fun3 = -1

End If

End Function

 

Ответ:11

 

Вопрос 11

 

В книге Excel "Данные к тесту VBA" из учебных материалов к модулю, составьте функцию VBA с именем fun3 для нахождения из трех произвольных чисел A, B, C, задающих длины сторон треугольника, самую длинную сторону, если треугольник существует, в противном случае функция должна возвратить значение -3.

 

Заголовок функции, который должен иметь вид: Function fun3(a,b,c), уже создан в модуле 1, необходимо только записать тело процедуры.

 

На листе 1 книги выполните функцию и полученное в ячейке B6 значение введите в ответ теста.

 

Решение:

Public Function fun3(a As Double, b As Double, c As Double) As Double

Dim m As Double

If b + c > a And c + a > b And a + b > c Then

If a > b Then

m = a

Else

m = b

End If

If c > m Then

fun3 = c

Else

fun3 = m

End If

Else

fun3 = -3

End If

End Function

 

Ответ: 7

Вопрос 12

Определить значения следующего арифметического выражения на VBA:

 

2 \ 4 * 2 + 15 mod 3

Ответ: 0

 

Вопрос 13

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

Dim m As Double

If a < b Then

m = a

Else: m = b

End If

If c < m Then

fun3 = c

Else: fun3 = m

End If

End Function

 

Вопрос 14

Переменная в VBA может иметь следующие типы:

 

· Double

· Long

· Variant

· Real

· Decimal

 

Вопрос 15

Если исходное значение переменной а было равно 5, а переменной b - 3, то какое значение будет иметь переменная а после выполнения оператора:

 

If (a - b) > 0 Then a = a - b Else a = a + b

 

Вопрос 16

Язык VBA поддерживает следующие арифметические операции:

· умножение

· извлечение квадратного корня

· взятие модуля числа

· сложения

· преобразование двоичного значения в десятичное

Вопрос 17

 

Если значение переменной а равно 20, то какое значение получит переменная 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, 20

 

b = 4

 

End Select

Ответ: 3

 

Вопрос 18

Язык VBA представляет собой:

· самостоятельное приложение работы с данными

· объектно-ориентированный язык программирования

· процедурный язык программирования

· инструмент обработки данных в приложениях Microsoft Office

Вопрос 19

 

Функция Abs(число) возвращает:

 

· абсолютное значение числа

· знак числа

· арктангенс числа

· целую часть числа

Вопрос 20

 

В книге Excel "Данные к тесту VBA" из учебных материалов к модулю, составьте функцию в модуле 1 с именем fun1 на VBA (вставьте нужные операторы в заголовки уже созданной функции), которая вычисляет выражение по формуле:

 

(1-x)^2

 

fun1 = ---------- + (x-2)^3

 

2 + 3x

 

На листе 1 книги выполните функцию и полученное в ячейке B4 значение введите в ответ теста. Дробная часть числа от целой отделяется запятой.

 

 

Вопрос 21

В книге Excel "Данные к тесту VBA" из вспомогательного материала к тесту, составьте функцию в модуле 1 с именем fun2 на VBA (вставьте нужные операторы в загововки функции созданной функции), которая вычисляет выражение по формуле: если x > 2, то fun2=(1-2x)/(2-x), иначе fun2=cos(x)+1.

 

На листе 1 книги выполните функцию и полученное в ячейке B5 значение, округленное до сотых, введите в ответ теста. Дробная часть числа от целой отделяется запятой.

 

 

Вопрос 22

 

 

В книге Excel "Данные к тесту VBA" из учебных материалов к модулю, составьте функцию VBA с именем fun3 для нахождения минимального произведения двух чисел из трех произвольных чисел A, B, C.

 

Заголовок функции, который должен иметь вид: Function fun3(a,b,c), уже создан в модуле 1, необходимо только записать тело процедуры.

 

На листе 1 книги выполните функцию и полученное в ячейке B6 значение введите в ответ теста.

 

Вопрос 23

В книге Excel "Данные к тесту VBA" из учебных материалов к модулю, составьте функцию VBA в модуле 1 с именем fun1 (вставьте нужные операторы в заголовки уже созданной функции), которая вычисляет выражение по формуле:

 

(1-x)^2

 

fun1 = ----------

 

2 + 3x

Ответ: - 4,75

Тест 5.2-5.3

1) Какое значение получит переменная S после выполнения группы операторов VBA:

 

S = 1

 

For i = 2 To 5 Step -2

 

S = S - i

 

Next i

 

Ответ: 1

 

Какое значение получит переменная S после выполнения группы операторов VBA:

 

S = 1

 

For i = 5 To 2 Step 2

 

S = S + i

 

Next i

 

Ответ: 1

 

2) Дана последовательность операторов VBA:

 

x = 2

 

While x > 4

 

x = x + 1

 

Wend

 

Определить значение переменной x после их выполнения

 

Ответ: 2

 

3) Дана последовательность операторов VBA:

 

x = 2

 

While x < 4

 

x = x + 1

 

Wend

 

Определить значение переменной x после их выполнения

 

Ответ: 4

 

 

6) В книге Excel "Данные к тесту VBA" из учебных материалов к модулю, составьте функцию VBA в модуле 1 с именем fun4, которая вычисляет сумму S=2^2-4^2+6^2-...+30^2.

 

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

 

На листе 1 книги выполните функцию и полученное в ячейке B7 значение введите в ответ теста.

Решение:

Public Function fun4()

Dim s1 As Double, i1 As Integer, s2 As Double, i2 As Integer

s1 = 0

i1 = 2

While i1 <= 30

s1 = s1 + i1 ^ 2

i1 = i1 + 4

Wend

s2 = 0

i2 = 4

While i2 <= 28

s2 = s2 + i2 ^ 2

i2 = i2 + 4

Wend

fun4 = s1 - s2

End Function

 

Ответ: 672

 

7) В книге Excel "Данные к тесту VBA" из учебных материалов к модулю, составьте функцию VBA в модуле 1 с именем fun4, которая вычисляет сумму S=2^2-3^2+4^2-...+20^2.

 

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

 

На листе 1 книги выполните функцию и полученное в ячейке B7 значение введите в ответ теста.

Решение:

Public Function fun4()

Dim s1 As Double, i1 As Integer, s2 As Double, i2 As Integer

s1 = 0

i1 = 2

While i1 <= 20

s1 = s1 + i1 ^ 2

i1 = i1 + 2

Wend

s2 = 0

i2 = 3

While i2 <= 19

s2 = s2 + i2 ^ 2

i2 = i2 + 2

Wend

fun4 = s1 - s2

End Function

 

Ответ: 295,4

 

 

8) В книге Excel "Данные к тесту VBA" из учебных материалов к модулю, составьте функцию VBA в модуле 1 с именем fun4, которая вычисляет сумму S=1-2^3+3^3-...-20^3.

 

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

 

На листе 1 книги выполните функцию и полученное в ячейке B7 значение введите в ответ теста.

Решение:

Public Function fun4()

Dim s1 As Double, i1 As Integer, s2 As Double, i2 As Integer

s1 = 0

i1 = 1

While i1 <= 19

s1 = s1 + i1 ^ 3

i1 = i1 + 2

Wend

s2 = 0

i2 = 2

While i2 <= 20

s2 = s2 + i2 ^ 3

i2 = i2 + 2

Wend

fun4 = s1 - s2

End Function

 

Ответ: -6020

 

9) В книге Excel "Данные к тесту VBA" из учебных материалов к модулю, составьте функцию VBA в модуле 1 с именем fun4, которая вычисляет сумму S=2^2-3^2+4^2-...+30^2.

 

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

 

На листе 1 книги выполните функцию и полученное в ячейке B7 значение введите в ответ теста.

Решение:

Public Function fun4()

Dim s1 As Double, i1 As Integer, s2 As Double, i2 As Integer

s1 = 0

i1 = 2

While i1 <= 30

s1 = s1 + i1 ^ 2

i1 = i1 + 2

Wend

s2 = 0

i2 = 3

While i2 <= 29

s2 = s2 + i2 ^ 2

i2 = i2 + 2

Wend

fun4 = s1 - s2

End Function

 

Ответ: 652,4

 

10) В книге Excel "Данные к тесту VBA" из учебных материалов к модулю, составьте функцию VBA в модуле 1 с именем fun4, которая вычисляет сумму S=1+2^2+3^2-...+25^2.

 

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

 

На листе 1 книги выполните функцию и полученное в ячейке B7 значение введите в ответ теста.

Решение:

Public Function fun4()

Dim s As Double, i As Integer

s = 0

i = 1

While i <= 25

s = s + i ^ 2

i = i + 2

Wend

fun4 = s

End Function

 

Ответ: 7735

 

11) В книге Excel "Данные к тесту VBA" из учебных материалов к модулю, составьте функцию VBA в модуле 1 с именем fun5, которая вычисляет сумму S=1-2^3+3^3-...-n^3.

 

Заголовок функции, который должен иметь вид: Function fun5(n), уже создан в модуле 1, необходимо только записать тело процедуры.

 

На листе 1 книги выполните функцию и полученное в ячейке B8 значение введите в ответ теста.

 

Решение:

Public Function fun5(n As Integer) As Integer

Dim s1 As Double, i1 As Integer, s2 As Double, i2 As Integer

s1 = 0

i1 = 1

While i1 <= n

s1 = s1 + i1 ^ 3

i1 = i1 + 2

Wend

s2 = 0

i2 = 2

While i2 <= n

s2 = s2 + i2 ^ 3

i2 = i2 + 2

Wend

fun5 = s1 - s2

End Function

 

Ответ: -23

 

12) В книге Excel "Данные к тесту VBA" из учебных материалов к модулю, составьте функцию VBA в модуле 1 с именем fun5, которая вычисляет сумму S=1-2^2+3^2-...-n^2.

 

Заголовок функции, который должен иметь вид: Function fun5(n), уже создан в модуле 1, необходимо только записать тело процедуры.

 

На листе 1 книги выполните функцию и полученное в ячейке B8 значение введите в ответ теста.

 

Решение:

Public Function fun5(n As Integer) As Integer

Dim s1 As Double, i1 As Integer, s2 As Double, i2 As Integer

s1 = 0

i1 = 1

While i1 <= n

s1 = s1 + i1 ^ 2

i1 = i1 + 2

Wend

s2 = 0

i2 = 2

While i2 <= n

s2 = s2 + i2 ^ 2

i2 = i2 + 2

Wend

fun5 = s1 - s2

End Function

 

Ответ: -8

 

13) В книге Excel "Данные к тесту VBA" из учебных материалов к модулю, составьте функцию VBA в модуле 1 с именем fun6, которая вычисляет сумму n первых натуральных чисел Фибоначчи.

 

Заголовок функции, который должен иметь вид: Function fun6(n), уже создан в модуле 1, необходимо только записать тело процедуры.

 

На листе 1 книги выполните функцию и полученное в ячейке B9 значение введите в ответ теста.

 

Решение:

Public Function fun6(n As Double) As Double

Dim s As Double, p As Integer, i As Integer, k As Integer

s = 0

p = 1

i = 1

For k = 1 To n

s = p + i

p = i

i = s

Next k

fun6 = s - 1

End Function

 

Ответ:381

 

14) В книге Excel "Данные к тесту VBA" из учебных материалов к модулю, составьте функцию VBA в модуле 1 с именем fun7, которая вычисляет сумму квадратов цифр заданного числа n.

 

Заголовок функции, который должен иметь вид: Function fun7(n), уже создан в модуле 1, необходимо только записать тело процедуры.

 

На листе 1 книги выполните функцию и полученное в ячейке B10 значение введите в ответ теста.

 

Решение:

Public Function fun7(ByVal n As Long) As Double

n = Abs(n)

Dim p

p = 0

While n <> 0

p = p + (n Mod 10) ^ 2

n = n \ 10

Wend

fun7 = p

End Function

 

Ответ: 4

 

15) В книге Excel "Данные к тесту VBA" из учебных материалов к модулю, составьте функцию VBA в модуле 1 с именем fun7, которая вычисляет произведение цифр заданного числа n.

 

Заголовок функции, который должен иметь вид: Function fun7(n), уже создан в модуле 1, необходимо только записать тело процедуры.

 

На листе 1 книги выполните функцию и полученное в ячейке B10 значение введите в ответ теста.

 

Решение:

Public Function fun7(ByVal n As Long) As Double

n = Abs(n)

Dim p

p = 0

While n <> 0

p = p *n Mod 10

n = n \ 10

Wend

fun7 = p

End Function

 

Ответ: 2

Задание 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

 

Задание 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

01. В книге Excel "Данные к тесту" на листе 7 постройте таблицу и график функции у=Sin(x)+x на интервале от -3 до 3 с шагом 0,25. В свободную ячейку листа введите функцию для вычисления суммарного значения всех табличных значений Y функций во всех точках заданного интервала Полученный результат, округленный до целых, введите в ответ теста. · Написать в ячейке A2: -3. · Чтобы получить ряд от -3 до 3: Правка/Заполнить/Прогрессия. Расположение: по столбцам. Шаг: 0,25. Тип: арифметическая. Предельное значение: 3. · Написать в ячейке B2: =SIN(A2)+A2 и нажать ENTER. Протянуть вниз. · В любой ячейке написать: =ОКРУГЛ(СУММ(B2:B22);0). · Ответ: 0.  
02. В ячейках A1, B1, C1 Листа 1 книги "Данные к тесту" записаны коэффициенты квадратного уравнения a, b, с соответственно. Используя функцию ЕСЛИ для проверки дискриминанта, записать в ячейку G10 формулу для вычисления разности между большим и меньшим корнем уравнения, если они существуют, в противном случае записать символ "-" (минус), и полученный в ячейке результат поместить в ответ теста. =ЕСЛИ(B1^2-4*A1*C1<0;"-";ABS(((-B1)+КОРЕНЬ(B1^2-4*A1*C1))/(2*A1))-((-B1)-КОРЕНЬ(B1^2-4*A1*C1))/(2*A1)))) Ответ: 2, если А1=1, В1=-4, С1=3.
03. В ячейку G3 Лист 1 книги "Данные к тесту" записать формулу или функцию для вычисления среднее значение чисел диапазона A1:В7 Лист 1 книги "Данные к тесту" и полученный результат записать в ответ теста. =СРЗНАЧ(A1:B7) Ответ: 9.
04. В ячейку G3 Лист1 книги "Данные к тексту" записать формулу или функцию для вычисления квадрата суммы чисел диапазона A1:E2 Лист1 Книги "Данные к листу" и полученный результат записать в ответ теста =СУММ(A1:E2)^2 Ответ: 121.
05. В ячейку G4 Лист 1 книги "Данные к тексту" записать выражение функции для вычисления разности между наибольшим и наименьшим значениями чисел диапазона A1:E100 Лист 1 Книги "Данные к тесту" и полученный результат записать в ответ теста =МАКС(A1:E100)-МИН(A1:E100) Ответ: 845.
06. В ячейку G4 Лист 1 книги "Данные к тесту" записать функцию (выражение функций) для вычисления суммы двух наибольших значений в заданном диапазоне A1:E105 Лист 1 книги "Данные к тесту" и полученный результат записать в ответ теста. =МАКС(A1:E105)+ НАИБОЛЬШИЙ(A1:E105;2) Ответ: 1500.
07. В ячейку G7 Лист1 книги "Данные к тексту" записать формулу массивов для вычисления сумму абсолютных значений (без учета знака) чисел диапазона A1:E15 этого же листа и полученный результат записать в ответ теста {=СУММ(ABS(A1:E15))} ФИГУРНЫЕ скобки НЕ вводятся на клавиатуре. Они являются показателем того, что это формула массива и задаются при помощи одновременного нажатия CTRL+SHIFT+ENTER. Ответ: 2494.
08. В ячейку W3 Листа 3 книги "Данные к тесту" записать функцию для подсчета количества участников олимпиады из списка "Участники олимпиады", Имена которых состоят из пяти букв. Полученное количество введите в ответ теста. Чтобы разбить единую ячейку ФИО на три: Вставить после столбца «ФИО» два пустых столбца. Данные/Текст по столбцам. Шаг 1. Ничего не менять Шаг 2. Символом-разделителем является: Выделить Пробел. Шаг 3. Ничего не менять. Столбец «Имя» окажется Столбцом С. {=СУММ(ЕСЛИ(ДЛСТР(C3:C174)=5;1;0))} ФИГУРНЫЕ скобки НЕ вводятся на клавиатуре. Они являются показателем того, что это формула массива и задаются при помощи одновременного нажатия CTRL+SHIFT+ENTER. Ответ: 41.
09. Для заданного в диапазоне A1:E100 Лист1 книги "Данные к тесту" записать в ячейке G7 формулу массивов для вычисления корня максимального значений из абсолютных величин чисел заданного диапазона и полученный результат, округленный до целых, записать в ответ теста. {=ОКРУГЛ(КОРЕНЬ(МАКС(ABS(A1:E100)));0)} Ответ: 27.
10. Для заданного на Листе 2 списка "Список сотрудников" книги "Данные к тесту" построить фильтр для отбора сотрудников зачисленных на работу Зимой (декабрь, январь, февраль). В ответ теста введите полученное отобранное количество записей. · Создать диапазон условий для фильтра: в ячейке G80 написать «Дата», в G81 – выражение =ИЛИ(МЕСЯЦ(G3)=1;МЕСЯЦ(G3)=2;МЕСЯЦ(G3)=12). · Создать фильтр: Данные/Фильтр/Расширенный фильтр. Далее задаём условия в появившемся окне. Обработка: Выбрать фильтровать список на месте. Исходный диапазон: Выделить Столбец «Дата зачисления», включая его название. Диапазон условий: Выделить Ячейки G80-G81. · Ответ: 15.
11. Для заданного на Листе 3 книги "Данные к тесту" списка "Участники олимпиады" выдать Промежуточные итоги (операция количество) по "типу населенного пункта" (город, поселок, деревня). В ответ теста введите количество участников из Города. · Выделить столбец «Тип насел. пункта» · Данные/Сортировка · Данные/Итоги. Далее задаём условия в появившемся окне. При каждом изменении в: Тип насел. пункта. Операция: Количество. Добавить итоги по: Тип насел. пункта. · Ответ: 165
12. Для заданного на Листе 3 списка "Участники олимпиады" книги "Данные к тесту" построить расширенный фильтр для отбора участников олимпиады, в номерах телефонов которых третья цифра слева направо равна 7. В ответ теста введите количество отобранных записей. · Создать диапазон условий для фильтра: в ячейке H178 написать «Тел» (название ОБЯЗАТЕЛЬНО должно отличаться от общего названия столбца – «Телефон»), в H179 – выражение =ПСТР(H3;3;1)="7". · Создать фильтр: Данные/Фильтр/Расширенный фильтр. Далее задаём условия в появившемся окне. Обработка: Выбрать фильтровать список на месте. Исходный диапазон: Выделить Столбец «Телефон», включая его название. Диапазон условий: Выделить Ячейки H178-H179. Ответ: 18.
13. Доход фирмы в 2000 году составил 50 млн. рублей. Ежегодно доход увеличивался на 3% по сравнению с предыдущим годом. Определить в ячейке C2 Листа 5 книги "Данные к тесту" совокупный доход фирмы за 2000-2008 годы и записать этот результат, округленный до млн., в ответ теста Чтобы получить ряд от 2000 до 2008: В А2 записать 2000. Правка/Заполнить/Прогрессия. Расположение: по столбцам. Шаг: 1. Тип: арифметическая. Предельное значение: 2008. В ячейку В2 записать 50. В ячейку В3: =B2/100*103 =ОКРУГЛ(СУММ(B2:B10);0) Ответ: 508.
14. Записать в ячейку A1 Лист 5 книги "Данные к тесту" число X=23,6. В ячейку В1 Лист 5 книги "Данные к тесту" записать формулу для вычисления корня квадратного из заданного числа и полученный результат, округленный до сотых, записать в ответ теста. =ОКРУГЛ(КОРЕНЬ(А1);2) Ответ: 4,86 – они округляют до тысячных
15. Записать в ячейку G5 Лист 1 книги "Данные к тесту" комбинацию функций для вычисления количества отрицательных чисел диапазона A1:С100 и полученный результат поместить в ответ теста. {=СЧЁТ(ЕСЛИ(A1:C100<0;1;”а”))}. ФИГУРНЫЕ скобки НЕ вводятся на клавиатуре. Они являются показателем того, что это формула массива и задаются при помощи одновременного нажатия CTRL+SHIFT+ENTER. Ответ: 67.
16. Записать в ячейку G6 Лист 1 книги "Данные к тесту" комбинацию функций для вычисления суммы чисел диапазона A1:E100 больших 10, но меньших 100 и полученный результат поместить в ответ теста. {=СУММ(ЕСЛИ(A1:E100>10; ЕСЛИ(A1:E100<100;A1:E100;0);0))} ФИГУРНЫЕ скобки НЕ вводятся на клавиатуре. Они являются показателем того, что это формула массива и задаются при помощи одновременного нажатия CTRL+SHIFT+ENTER. Ответ: 7525.
17. Записать в ячейку H1 Лист 1 книги "Данные к тесту" формулу массивов с использованием соответствующих функций для вычисления суммы четных чисел диапазона A1:E100 и полученный результат поместить в ответ теста. {=СУММ(ЕСЛИ(ОСТАТ(A1:E100;2)=0; A1:E100;0))} Правильная формула в решении, а не в графе D18 – в условии ничего не сказано, что это должны быть положительные числа ФИГУРНЫЕ скобки НЕ вводятся на клавиатуре. Они являются показателем того, что это формула массива и задаются при помощи одновременного нажатия CTRL+SHIFT+ENTER. Ответ: 4534.
18. Записать в ячейку H2 Лист 1 книги "Данные к тесту" формулу массивов с использованием соответствующих функций для вычисления суммы нечетных положительных чисел диапазона A1:E100 и полученный результат поместить в ответ теста. {=СУММ(ЕСЛИ(A1:E100>0;ЕСЛИ (ОСТАТ(A1:E100;2)=1;A1:E100;0);0))} Ответ: 11042.
19. На Листе 14 книги "Данные к тесту" консолидировать данные 3-х филиалов фирмы, размещеных на листах 11, 12, 13 книги "Данные к тесту", и консолидированное суммарное значение выпуска товара Ф-270 по всем цехам за Февраль месяц записать в ответ теста Данные/Консолидация. В окне «Консолидация» – Функция: Сумма. Ссылка: на Листе 11 – выделить всю таблицу (без её названия). Нажать «Добавить». То же – для Листов 12 и 13. Использовать в качестве имен: поставить «галочки» в обеих графах. Поставить «галочку» для «Создавать связи с исходными данными». Ответ: 790.
20. На Листе 6 книги "Данные к тексту" заполнить диапазон A1:A50 последовательными четными натуральными числами от 2 до 100 и записать в ячейку B1 формулу для вычисления их суммы Полученный результат записать в ответ теста · Чтобы получить ряд от 2 до 100: Правка/Заполнить/Прогрессия. Расположение: по столбцам. Шаг: 2. Тип: арифметическая. Предельное значение: 100. · Чтобы суммировать: =СУММ(A1:A50) · Ответ: 2550.
21. На листе 8 в ячейке А1 книги "Данные к тесту" задан текст. Записать в ячейку B1 функцию для подсчета количества пробелов, содержащихся в этом тексте. Полученное значение записать в ответ теста. =ДЛСТР(_Toc495191646)-ДЛСТР(ПОДСТАВИТЬ(_Toc495191646;" ";"")) Ответ: 157.
22. На листе 9 книги "Данные к тесту" в ячейке A1 записана Дата. Записать в ячейку B1 формулу, которая вычисляет количество дней от заданной даты (включая) до 1 января 2010 года (не включая). Полученное значение ввести в ответ теста. =ДАТА(2010;1;1)-A1. Тип ячейки B1 должен быть общий. Ответ: 8045.
23. На Листе 6 книги Excel "Данные к тесту" заполнить диапазон A1:A100 последовательными натуральными числами от 1 до 100 и записать в ячейку B1 Листа 6 формулу вычисления их суммы. Полученный результат записать в ответ теста. · Чтобы получить ряд от 1 до 100: Правка/Заполнить/Прогрессия. Расположение: по столбцам. Шаг: 1. Тип: арифметическая. Предельное значение: 100. · Чтобы суммировать: =СУММ(A1:A100) · Ответ: 5050.
24. На основании таблицы "Сведения о деятельности фирм" на листе 4 книги "Данные к тесту" постройте сводную таблицу для отображения суммарного значения Дохода по фирмам и месяцам. В ответ записать Доход фирмы "Ритм" за Февраль месяц. Ответ неправильный, но я не могу определить, где ошибка!!! Данные/Сводная таблица. Шаг 1. Создать таблицу на основе данных, находящихся: Выбрать в списке или базе данных Microsoft Excel. Шаг 2. Диапазон: Выделить ВСЮ таблицу. Шаг 3. Поместить сводную таблицу на существующий лист. Появятся окно «Список полей сводной таблицы» и макет будущей таблицы. Мышью перетащить слово «Фирма» в поля строк, «МЕСЯЦ» – в поля столбцов, а «Доход» – в область данных. Ответ: 500.
25. Упорядочить заданный на Листе 3 книги "Данные к тесту" список "Участники олимпиады" по "типу населенного пункта" в следующей последовательности: город, поселок, деревня, а среди каждой группы (город, поселок, деревня) – в алфавитном порядке названия населенного пункта. В ответ теста введите номер строки относительно начала списка, на котором оказался после сортировки участник олимпиады Медведь Сергей · Чтобы упорядочить список: Сервис/Параметры/Списки/Добавить. Написать: город, поселок, деревня. ОК. · Чтобы расставить населённые пункты по алфавиту внутри каждой группы: Данные/Сортировка. Сортировать по: Тип насел. пункта. Параметры/Сортировка по первому ключу: город, поселок, деревня. ОК. Затем по: Название населенного пункта. Всё – по возрастанию. Так как требуется номер строки относительно начала списка, а список начинается с третьей строки, то не 163, а 161. · Ответ: 161.

 

 

Вопросы, которых не было в «test-2полный». Номер вопроса, например 18а, означает, что этот вопрос похож на находящийся под соответствующим номером «test-2полный»


Дата добавления: 2015-12-17; просмотров: 44; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!