Сумма ряда с использованием цикла конструкции Do – Loop - Visual Basic .NET

Узнай цену своей работы

Формулировка задачи:

Всем привет! Помогите, пожалуйста. Нужно найти ошибку. Требуется найти сумму ряда (см. вложение) с использованием цикла конструкции Do – Loop. Вычисления закончить, когда очередной член ряда станет меньше заданного значения погрешности = 0.0001. Для выхода из цикла использовать оператор Exit Do. Вывести значение суммы S и количество шагов цикла n. Дело в том, что слагаемое определяется верно. Пропускается первый шаг почему-то (вообщем запуталась с шагами). Из-за это сумма ряда определяется неверно. Кроме того, для х=1 условие (s1<0.0001) выполняется, а для х=2 нет.

Решение задачи: «Сумма ряда с использованием цикла конструкции Do – Loop»

textual
Листинг программы
        Dim n, j As Integer
        Dim f As Long
        Dim x, s1, s, eps As Decimal
        x = Val(TextBox3.Text)
        eps = Val(TextBox4.Text)
        TextBox2.Clear()
        Do
            f = 1
            Try 'Попытка выполнить фрагмент программы
                For j = 1 To 2 * n'  For j = 1 To n
                    f = f * j
                Next j
            Catch ex As Exception 'В случае переполнения вывести сообщение
                MessageBox.Show("Факториал: очень большое число!")
                End
            End Try
            s1 = ((-1) ^ n) * ((x ^ (2 * n)) / f)
            s = s + s1
            n = n + 1
            TextBox2.Text = TextBox2.Text + "Шаг " + CStr(n) + ". Слогаемое: " + CStr(Math.Round(s1, 5)) + _
            "; Сумма ряда: " + CStr(Math.Round(s, 5)) + vbCrLf
            If Math.Abs(s1) < eps Then Exit Do
        Loop

Оцени полезность:

12   голосов , оценка 4.167 из 5
Похожие ответы