Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/15: Рейтинг темы: голосов - 15, средняя оценка - 4.60
11 / 11 / 4
Регистрация: 02.04.2015
Сообщений: 147
1

Найти сумму ряда при использовании бесконечного цикла

02.04.2015, 21:35. Показов 2991. Ответов 7
Метки нет (Все метки)

Будьте добры помогите пожалуйста!
Цикл c использованием конструкции Do While – Loop, или Do – Loop, или While – End While.
Найти сумму ряда.
Вычисления закончить, когда очередной член ряда станет меньше заданного значения погрешности E(E=0.0001). При использовании бесконечного цикла (Do - Loop) для выхода из него необходимо использовать оператор Exit Do.
Вывести значение S и количество шагов цикла n.
Название: 1.PNG
Просмотров: 194

Размер: 1.1 Кб
вот но ,что-то туплю

vb.net
1
2
3
4
5
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
Dim s, Eps As Decimal
Try
Eps = Val(TextBox3.Text)
x = Val(TextBox4.Text)
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.04.2015, 21:35
Ответы с готовыми решениями:

Код итерационного цикла. Найти сумму бесконечного ряда
Помогите пожалуйста написать код!! Найти сумма бесконечного ряда \sum_{n = 1}^{\infty} \...

Алгоритм цикла. Рассчитать сумму бесконечного ряда
Помогите пожалуйста: Рассчитать сумму бесконечного ряда: 1+1/34+1/54+.... Суммирование...

Операторы цикла: вычислить сумму бесконечного ряда
Добрый день. Помогите пожалуйста решить данную задачку: 7(г). Заранее благодарю. Дано...

Операторы цикла: вычислить сумму бесконечного ряда
Добрый день. Помогите пожалуйста решить данную задачку: 4(г). Заранее благодарю. 4. Даны...

__________________
7
4 / 4 / 2
Регистрация: 04.05.2013
Сообщений: 54
03.04.2015, 14:02 2
Можно сделать так:

vb.net
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 Dim RezChlen, RezPoslChlen, Rez As Double
    Dim n As UInteger
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        RezChlen = 1
        Do While RezChlen >= Val(TextBox2.Text)
            n += 1
            RezChlen = Val(TextBox1.Text) ^ n / n
            If RezChlen >= Val(TextBox2.Text) Then
                RezPoslChlen = RezChlen
                Rez += RezChlen
                TextBox3.Text = Rez
            End If
        Loop
        TextBox3.Text = "Результат = " & Rez + 1 & vbCrLf & " количество шагов = " & n & vbCrLf & "Результат последнего члена = " & RezPoslChlen
    End Sub
на форме TextBox1 - это Х, TextBox2 - Е (уровень точности), TextBox3 - результаты

Но эта формула теряет смысл при числах >=1 т.к. значения членов будут всегда больше погрешности и цикл будет бесконечен.
1
11 / 11 / 4
Регистрация: 02.04.2015
Сообщений: 147
03.04.2015, 14:50  [ТС] 3
Нет самой формулы(прикрепил картинку) ,с факториалом ,не знаю как ее забить туда
Вот подобный код,но с другой формулой S
vb.net
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
 Dim s, Eps As Decimal
 Try
 Eps = Val(TextBox3.Text)
 x = Val(TextBox4.Text)
 Catch ex As Exception
 MessageBox.Show("Введите корректные данные!", "Контроль данных", _
 MessageBoxButtons.OK, MessageBoxIcon.Error)
 End Try
 If Eps = 0 Or x = 0 Then
 MessageBox.Show("Введите корректные данные!", "Контроль данных", _
 MessageBoxButtons.OK, MessageBoxIcon.Error)
 Else
 TextBox2.Text = "Eps = " + CStr(Eps) + "; x = " + CStr(x) + vbCrLf
 TextBox2.Text += "n s" + vbCrLf
 TextBox2.Text += "--------------" + vbCrLf
 i = 0
 xn = 1000000
 Do While Abs(xn) >= Eps
 i = i + 1
 xn = x ^ i * Sin(i * PI / 4)
 s = s + xn
 TextBox2.Text += CStr(i) + ". " + CStr(Round(s, 5)) + vbCrLf
 Loop
 End If
 End Sub
0
Замабувараев
03.04.2015, 19:25
  #4

Не по теме:

belnowy, кто вас учил писать код без форматирования и отступов? Скажите ему это в лицо, чтобы стало стыдно.

0
4 / 4 / 2
Регистрация: 04.05.2013
Сообщений: 54
03.04.2015, 19:56 5
Вот добавил расчет факториала и комментарии

vb.net
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Dim RezChlen, RezPoslChlen, Rez As Double
    Dim n, z As Long
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        RezChlen = 1
        Do While RezChlen >= Val(TextBox2.Text)
            n += 1 'Начальное значение шага
            z = 1 'Начальное значение факториала
            For v = 1 To n ' Расчитаем факториал
                z = z * v
            Next
            RezChlen = Val(TextBox1.Text) ^ n / z
            If RezChlen >= Val(TextBox2.Text) Then 'Если результат члена больше точности то рассчитываем общую сумму
                RezPoslChlen = RezChlen
                Rez += RezChlen
            End If
        Loop
        TextBox3.Text = "Результат = " & Rez + 1 & vbCrLf & " количество шагов = " & n & vbCrLf & "Результат последнего члена = " & RezPoslChlen
    End Sub
1
Миниатюры
Найти сумму ряда при использовании бесконечного цикла  
11 / 11 / 4
Регистрация: 02.04.2015
Сообщений: 147
03.04.2015, 20:53  [ТС] 6
вообще не то,вот факториал
0
COM‐пропагандист
515 / 445 / 105
Регистрация: 18.12.2014
Сообщений: 1,145
Записей в блоге: 2
03.04.2015, 22:12 7
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Конкретно для факториала придумал вот такую функцию, возвращающую кортеж из суммы и количества шагов (на самом деле анонимный тип).
vb.net
1
2
3
4
5
6
7
8
9
10
11
Private Function SumSeries(ByVal e As Double)As Object
    Dim i As Integer
    Dim Result As Double
    Dim MemberSeries As Double = 1
    Do
        Result += MemberSeries
        i += 1
        MemberSeries /= i
    Loop While MemberSeries > e
    Return New With {.Сумма = Result, .КоличествоШагов = i}
End Function
Использовать можно например так:
vb.net
1
MsgBox(SumSeries(0.0001).ToString())
1
11 / 11 / 4
Регистрация: 02.04.2015
Сообщений: 147
03.04.2015, 22:51  [ТС] 8
Всем спасибо)
closed/
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.04.2015, 22:51

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

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

Найти сумму ряда (при помощи цикла while)
Помогите решить задачу... мозг уже устал. Решить нужно с помощью цикла с предусловием while ...

Найти сумму бесконечного ряда
Delphi Help!!!

Найти сумму бесконечного ряда
Пожалуйста помогите вся надежда на вас, светлые умы найти сумму бесконечного ряда. EPS =...

Найти сумму бесконечного ряда
Найти сумму бесконечного ряда с заданной точностью E для всех X, изменяющихся от Xn до Xk с шагом...

Найти сумму бесконечного ряда
Алгоритмизация и программирование задач циклической структуры. Вычислить на ЭВМ значение суммы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.