|
Вычислить логарифм с точностью до ε = 0.0001, воспользовавшись разложением в ряд
|
|||
---|---|---|---|
#18+
Добрый вечер. Помогите пожалуйста найти ощибку в программе. Само задание находится в файле ЛР-4-06. Вот мой вариант программы: Код Visual Basic .NET Option Strict On Option Explicit On Imports System.Math Public Class Form1 Function vvod(ByVal t As TextBox) As Double Return Val(t.Text) End Function Sub vivod(ByVal z As Double, ByVal t As TextBox) t.Text = CStr(z) End Sub Sub vivodlist(ByVal z As Double, ByVal LB As ListBox) LB.Items.Add(CStr(z)) End Sub Sub vivodint(ByVal z As Integer, ByVal LB As ListBox) LB.Items.Add(CStr(z)) End Sub Sub pos(ByVal x As Double, ByVal e As Double, ByRef s As Double) Dim n As Integer Dim a As Double n = 0 : s = 0 : x = a Do While Abs(a) > e vivodint(n, ListBox1) vivodlist(a, ListBox2) a = 1/(2*n+1)*x^(2*n+1) s = s + a n = n + 1 Loop End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim EE, x, s As Double EE = vvod(TextBox1) x = vvod(TextBox2) pos(x, EE, s) vivod(s, TextBox3) End Sub End Class Почему то при компилировании программа зависает и ничего не хочет делать. Помогите найти ошибку. Модератор: Тема перенесена из форума "Visual Basic". ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2012, 19:32 |
|
Вычислить логарифм с точностью до ε = 0.0001, воспользовавшись разложением в ряд
|
|||
---|---|---|---|
#18+
alexnetto, точно при компилировании это происходит? Может все-таки при запуске после нажатия на кнопку? Больше похоже на бесконечный цикл внутри процедуры pos. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2012, 20:13 |
|
Вычислить логарифм с точностью до ε = 0.0001, воспользовавшись разложением в ряд
|
|||
---|---|---|---|
#18+
bazile, ну да. Это я понимаю. Только как мне исправить этот цикл, что бы он был не бесконечным? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2012, 21:24 |
|
Вычислить логарифм с точностью до ε = 0.0001, воспользовавшись разложением в ряд
|
|||
---|---|---|---|
#18+
alexnetto, поставить точку останова на условии цикла, в её настройках указать чтобы останов произошел, например, на 5000 итерации. Посмотреть чему равно условие цикла. Понять почему так происходит и исправить соответствующим образом. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2012, 21:50 |
|
|
start [/forum/topic.php?fid=20&msg=38065004&tid=1405544]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
63ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 166ms |
0 / 0 |