Помогите с Visual Basic, пожалуйста

компьютеры программирование программы Образование visual basic

Sub zadacha13()
Dim I As Integer
Dim A As Double
Dim B As Double
Dim Sum As Double
Sum = 0
For I = 1 To 30
If I Mod 2 = 0 Then
Sum = Sum + Sqr(I / 2 - Exp(3 * Log(I)))
Else: Sum = Sum + Sqr(I - Sqr(I))
Cells(1, 1) = Sum
End If
Next I
End Sub


Выдаёт "Run-time error '5': invalid procedure call or argument"
В чём проблема?
Ответы:
В выражении
Sqr(I / 2 - Exp(3 * Log(I)))
вы пытаетесь извлечь квадратный корень из отрицательного числа. Немудрено, что выдает ошибку.
Ошибка выдается потому что  из "I / 2 - Exp(3 * Log(I))" нельзя вычислить квадратный корень
А зачем так сложно?
Exp(3 * Log(I)) = I^3.
И да, I/2 < I^3 при I > 1, поэтому под корнем отрицательное число.


12 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.