Нахождение суммы ряда с заданной точностью в VBA

компьютеры программирование VBA сумма ряда

Пытаюсь вычислить сумму от i = 1 до бесконечности 1/(2i-1)^3
так:
While temp <> e
'Считаем сумму ряда
temp = (1 / ((2 * i - 1) ^ 3))
rez = rez + temp
i = i + 1
Wend
Вроде бы все правильно, т. е. temp должен уменьшаться с каждым шагом. Но temp где-то на третьей итерации получает совсем какие-то дикие значения, больше двойки, затем больше единицы, и так далее, в конце концов программа выпадает с owerflow. Что именно не так?

Примечание:
boris87, по '>' сейчас попробую, но, опять же, temp что-то гонит со значениями. Вот весь код:

Sub main()
Dim e As Single, rez As Single, i As Integer, temp As Single
e = InputBox("Ввод переменных", "E=")
temp = 1

i = 1 'Счетчик в начало
While temp <> e
'Считаем сумму ряда
temp = (1 / ((2 * i - 1) ^ 3))
rez = rez + temp
i = i + 1
Wend
MsgBox (rez)
End Sub

Примечание:
Лол, '>' исправил ситуацию. Спасибо за замечание!
Ответы:
Сложно сказать, не знаю какая точность у переменных в VBA
Только хочу добавить имху -  ряд не знакочередующийся, я не сильно уверен что можно с epsilon сравнивать n-й член, да и условие  должно быть не неравно, а больше.


13 лет назад

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

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

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