| 
 Семашко Мария. Результаты контрольной по 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 
  |