Connected by... logo
  Главная
Market Connected by Velcom Connected by МТС Connected by БелСел Connected by Белтелеком Оборудование  
 См. также :
Рекомендуемое

bsu.by - официальный сайт БГУ

ЭФ на bsu.by - Экономфак на сайте БГУ

economy.bsu.by - официальный сайт ЭФ БГУ

e-University - тестовая система БГУ

Плеханова Юлия. Результаты контрольной по VBA.
вернуться на главную страницу можно, воспользовавшись ссылкой.

Оценка 5,3 балла (0,9+0,4+0,9+0,8+0,9+0,5+0,9).

Задание 1.

Юля, типы переменных и функции могла бы и описать. Хотя это многие не сделали, соответственно, у всех, кто не сделал снято 10% (или в данном случае, 0,1 балла).

0,9

Public Function Fun1(x)
If x < -3 Then
Fun1 = 2 * (x ^ 0.5)
ElseIf x >= -3 And x <= 7 Then
Fun1 = (3 * x) / (5 * x + 3)
ElseIf x > 7 Then
Fun1 = (4 * x + 5) / (x ^ 2 + 1)
End If
End Function

Задание 2.

Юля, увы, но речь шла об "удвоенной сумме неотрицательных чисел"… Про типы я уже не говорю.

0,4

Public Function Fun2(a, b, c)
If a >= 0 And b >= 0 Or b >= 0 And c >= 0 Or a >= 0 And c >= 0 Then
Fun2 = "Введите хотя бы 2 отрицательных числа"
ElseIf a >= 0 Then
Fun2 = b * c
ElseIf b >= 0 Then
Fun2 = a * c
ElseIf c >= 0 Then
Fun2 = a * b
Else
Fun2 = a * b * c
End If
End Function

Задание 3.

См. п.1

0,9

Public Function Fun3()
s = 0
For i = 12 To 40 Step 2
s = s + i * (80 - i)
Next i
End Function

Задание 4.

Юля, входная переменная – только одно число n. А у тебя еще и с почему-то. И способ поиска и суммирования какой-то нетрадиционный, хотя как бы работающий даже.

0,8

Public Function Fun4(ByVal n, c As Integer)
s = 0
While n <> 0
c = n Mod 10
n = n \ 10
If c Mod 5 = 0 Then
c = 0
End If
s = s + c
Wend
End Function

Задание 5.

Рекомендации на будущее - лучше и начинать со строк, то есть с Rows, и присваивать их количество переменной n, - устоялось как то так. Соответственно, первый индекс – номер строки - будет от I до n. Ну и типы переменных.

0,9

Public Function Fun5(a As Variant)
n = Columns.Count
m = Rows.Count
p = 1
For i = 1 To m
For j = 1 To n
If a(i, j) < 0 Then
p = p * a(i, j)
End If
Next j
Next i
Fun5 = p
End Function

Задание 7.

Нарисовать форму – это вариант показать, что ты что-то умеешь, но не более..

0,5

Задание 8.

Знаешь, почему не работало? Потому что такое написание программы предполагает, что во первых сработает оно только тогда, когда максимум будет больше 1, а минимум меньше, что как ты понимаешь, не всегда верно – надо было и тому и другому присвоить значение перового элемента массива, и в добавок, еще и сохранить его индексы до цикла: imin = 1: jmin = 1 : imax = 1: jmax = 1. Ну а потом – в самом конце - еще и обратную операцию сделать для той которая в самом начале проделана – Selection=a. Ну и твою последнюю строчку - a(imin, imax) = t – надо было правильно написать - a(imin, imin) = t

0,9

Public Sub Sub8()
a = Selection.Value
m = UBound(a, 1)
n = UBound(a, 2)
Max = 1
Min = 1
For i = 1 To m
For j = 1 To n
If a(i, j) < Min Then
Min = a(i, j): imin = i: jmin = j
End If
If a(i, j) > Max Then
Max = a(i, j): imax = i: jmax = j
End If
Next j
Next i
t = a(imax, jmax)
a(imax, jmax) = a(imin, imax)
a(imin, imax) = t
End Sub

© 2003-2015 bsu.name, email: bsu@bsu.name, phone +375 297 72-30-84, page VKontakte
Зарегистрировать почту @bsu.name

  Rating All.BY