Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.06.2016, 16:28   #1
RitaToporita
 
Аватар для RitaToporita
 
Регистрация: 15.06.2016
Сообщений: 3
Печаль Приближенное значение бесконечной суммы в VBA

Всем привет. У меня возникла проблема в написании программы, при запуске вылетает ошибка "overflow". Помогите исправить, пожалуйста
Screenshot_7.png
Код:
Private Sub calc_Click()
Dim x As Double, eps As Double, sum As Double
Dim a As Double
Dim n As Long
n = 2
k = 3

x = CDbl(txtX.Text)
t = x / 2
a = t
sum = a
eps = CDbl(txtEps.Text)
  If x > 1 Then
MsgBox " x должен быть меньше 1 !", vbCritical
Exit Sub
  End If
Sheets(1).Cells(1, 2).Value = x
Sheets(1).Cells(1, 4).Value = eps
Sheets(1).Cells(k, 1).Value = 1
Sheets(1).Cells(k, 2).Value = a
Sheets(1).Cells(k, 3).Value = sum
k = 4

  Do
a = a * t
sum = sum + a / n

Sheets(1).Cells(k, 1).Value = n
Sheets(1).Cells(k, 2).Value = a / n
Sheets(1).Cells(k, 3).Value = sum

k = k + 1
n = n + 1
  Loop Until Abs(a / (n - 1)) <= eps
lbSum = " Сумма ряда=" & sum & vbNewLine & " F(" & x & ")=" & log(x) & vbNewLine & " n=" & n

End Sub
RitaToporita вне форума Ответить с цитированием
Старый 15.06.2016, 16:54   #2
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Ну так процессор до стольки считать не умеет
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 15.06.2016, 17:15   #3
RitaToporita
 
Аватар для RitaToporita
 
Регистрация: 15.06.2016
Сообщений: 3
По умолчанию

вот как.. помочь сможешь?)
RitaToporita вне форума Ответить с цитированием
Старый 15.06.2016, 19:47   #4
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

условие выхода с цикла (34 строка) верное? а в степень растет, а n инкременируется. Вряд ли частное будет меньше епсилона
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 15.06.2016, 20:17   #5
RitaToporita
 
Аватар для RitaToporita
 
Регистрация: 15.06.2016
Сообщений: 3
По умолчанию

то чувство, когда осталось 5 часов до экзаменаXD
Может я неправильно формулу составила, не знаю даже.,
Loop Until Abs(a / (n - 1)) <= eps на счет этой строки я особенно сомневаюсь)
RitaToporita вне форума Ответить с цитированием
Старый 15.06.2016, 21:24   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Начать с того, что сам ряд в условии не верно описан.
Дальше - значение t с какого перепугу x/2?
x > 1 - а как насчет равно 1?
Цитата:
а в степень растет, а n инкременируется. Вряд ли частное будет меньше епсилона
Почему же? a < 1 - числитель -> 0, знаменатель -> к восьмерке перевернутой
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 15.06.2016 в 21:27.
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вычислить приближенно значение бесконечной суммы pipl222 C# (си шарп) 1 26.12.2015 13:38
Приближенное значение бесконечной суммы utopiccat Общие вопросы по Java, Java SE, Kotlin 1 20.09.2015 23:51
Вычислить приближенное значение бесконечной суммы, не используя стандартные функции, за исключением модуля. Ромун Помощь студентам 7 24.05.2015 08:33
Вычислить приближенно значение бесконечной суммы с точностью до 0,0005 bobzofly Паскаль, Turbo Pascal, PascalABC.NET 1 13.10.2012 12:07
вычисление бесконечной суммы ряда pyzhov Помощь студентам 7 12.12.2010 22:48