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

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

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

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

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

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

Оценка 1 балл (0,9+0,1).

Задание 1.

Руслан, и сама функция и входная переменная х при отсутствии описания типа становится Variant, что не самое рациональное решение. За это 0,1 балла и снято. То, что в первом If знак равенства отсутствует, а сама переменная box должна быть равна не корню из -3 (ты вдумайся, функция не зависит от х…возможно, конечно, теоретически, но редко встречается в такого родя задачах), а несколько иному выражению – это я, как бы не заметил, ну "типа" описАлся, бывает… Я бы рекомендовал тебе конструкцию 3 <= x <= 7 разделять впредь на две – x>=3 And x<=7 но учитывая то, что я увидел в следующей задаче, на момент написания контрольной эта рекомендация была не для тебя…

0,9

Public Function box(x)
If x < -3 Then
box Sqr(-3)
Else
End If
If -3 <= x <= 7 Then
box = (3 * x) / (5 * x + 3)
Else
End If
If x > 7 Then
box = (4 * x + 5) / (x * x + 1)
Else
End If
End Function

Задание 2.

Знаешь, как написанная тобой функция работает? НИКАК! Оператор And – [Логическое выражение] And [Логическое выражение] – это совсем не то, что у тебя записано. Да, я вижу, что оно у тебя что-то в ответе показывает – показывает оно кстати при любом a, b, c результат последней ветки – удвоенную сумму b и c. Условия записаны неправильно, я бы даже сказал абсолютно бредово, а VBA язык во многих случаях нечувствительный к типу переменных, и оно бредовые по сути условия воспринимает все как ИСТИНУ, т.е. последовательно заходит во все ветки, а в качестве ответа выдает то, что вычислено последним. Нет, про то, что ты перебрал не все возможные варианты – т.е. что делать если все числа положительные или все отрицательные, я уже как бы и не говорю.

0,1

Разработать функцию пользователя, вычисляющую удвоенную сумму неотрицательных чисел, из трех заданных. (1 балл)

Public Function service(a, b, c)
If a >= 0 & b >= 0 & c <= 0 Then
service = 2 * (a + b)
Else
End If
If a >= 0 & b <= 0 & c >= 0 Then
service = 2 * (a + c)
Else
End If
If a <= 0 & b >= 0 & c >= 0 Then
service = 2 * (b + c)
Else
End If
End Function

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

  Rating All.BY