Семашко Мария. Результаты контрольной по VBA.
вернуться на главную страницу можно, воспользовавшись ссылкой.
Оценка 4,7 балла (0,9+0,8+0,9+0,9+1,2).
Задание 1.
Маша, все ОК, только еще типы переменных и функции надо описывать, за отсутствие описания снимается 10% баллов, или в данном случае 0,1. И x ^ 0.5 лучше записывать как Sqr(x)
0,9
Public Function kr_1(x)
If x < -3 Then
y = 2 * x ^ 0.5
End If
If x >= -3 And x <= 7 Then
y = (2 * x) / (5 * x + 3)
End If
If x > 7 Then
y = (3 * x + 5) / (x ^ 2 + 1)
End If
kr_1 = y
End Function
Задание 2.
Все бы хорошо, но надо было написать функцию, "вычисляющую удвоенную сумму ПОЛОЖИТЕЛЬНЫХ чисел, из трех заданных", так что лучше пользователю сообщать об отсутствии положительных чисел, а в том случае, если они все положительные, а отрицательных нет, их как раз и надо было просуммировать. Недоизменила?:)
0,8
Public Function kr_2(a, b, c)
s = 2 * a + 2 * b + 2 * c
If a > 0 And b > 0 And c > 0 Then
MsgBox ("Отрицательных нет")
Else
If a < 0 Then s = s - 2 * a
If b < 0 Then s = s - 2 * b
If c < 0 Then s = s - 2 * c
End If
End Function
Задание 3.
ОК, за исключением типов данных.
0,9
Public Function kr_3()
s = 0
For j = 78 To 40 Step -2
s = s + (j * (80 - j))
Next j
kr_3 = s
End Function
Задание 5.
Ошибки нет, но, Маша, рекомендации на будущее - лучше и начинать со строк, то есть с Rows, и присваивать их количество переменной n, более употребляемой, чем m. Соответственно, первый индекс – номер строки - будет от I до n. Ну и типы переменных.
0,9
Public Function ProizvOtr(a)
n = a.Columns.Count
m = a.Rows.Count
proizv = 1
For i = 1 To m
For j = 1 To n
If a(i, j) < 0 Then
proizv = proizv * a(i, j)
End If
Next j
Next i
ProizvOtr = proizv
End Function
Задание 7.
Функция проверки – является ли число простым у тебя нет? А жаль, учитывая, что она в конспекте есть.
1,2
Private Sub CommandButton1_Click()
a = Val(TextBox1.Value)
b = Val(TextBox2.Value)
c = Val(TextBox3.Value)
For i = a To b
If Prostoe(i) Then
If i Mod 10 = c Then
ListBox1.AddItem (i)
End If
End If
Next i
End Sub
|