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

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