2016-05-15 8 views
0

私は二分法についてプログラムをやっていました。私はプログラムを実行中にエラーが発生していないが、私はそれを実行すると、データを入力し、計算ボタンを押して、答えは表示されませんが、スクロールバーが表示され、プログラムを実行すると、項目がリストボックスに表示されない

私は何が間違っているのか分かりませんが、論理的なエラーと関係があると思います。

Public Class Form1 
    Dim a As Double 
    Dim b As Double 
    Dim c As Double 
    Dim fa As Double 
    Dim fb As Double 
    Dim fc As Double 
    Dim err As Double 
    Dim n As Integer = 1 
    Dim x As Double 
    Dim diserr As String 
    Dim fas As String 
    Dim fbs As String 
    Dim fcs As String 

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
     a = TextBox1.Text 
     b = TextBox2.Text 
     err = TextBox3.Text 

     fa = a^3 - a - 3 
     fb = b^3 - b - 3 
     c = (a + b)/2 
     fc = c^3 - c - 3 
     x = Math.Abs(a - b) 

     Do While x > err 
      fa = a^3 - a - 3 
      fb = b^3 - b - 3 
      c = (a + b)/2 
      fc = c^3 - c - 3 
      x = Math.Abs(a - b) 


      If err < x Then 
       diserr = "No" 
      Else 
       diserr = "Yes" 
      End If 

      If fa > 0 Then 
       fas = "+" 
      Else 
       fas = "-" 
      End If 

      If fb > 0 Then 
       fbs = "+" 
      Else 
       fbs = "-" 
      End If 

      If fc > 0 Then 
       fcs = "+" 
      Else 
       fcs = "-" 
      End If 

      If diserr = "Yes" Then 
       fcs = Str(x) 
      End If 

      ListBox1.Items.Add(Str(n)) 
      ListBox2.Items.Add(Str(a)) 
      ListBox3.Items.Add(Str(b)) 
      ListBox4.Items.Add(Str(c)) 
      ListBox5.Items.Add(Str(x)) 
      ListBox6.Items.Add(diserr) 
      ListBox7.Items.Add(fas) 
      ListBox8.Items.Add(fbs) 
      ListBox9.Items.Add(fcs) 
      n = n + 1 

      If fas = "-" And fcs = "+" Then 
       b = c 
      End If 
      If fbs = "-" And fcs = "+" Then 
       a = b 
       b = c 
      End If 

     Loop 

    End Sub 
End Class 

答えて

0

あなたはfcs"-"あるケースを考慮する必要があります。
私がこの方法を誤解していない場合は、最後の2つのifsを

と置き換えてください。
If fas <> fcs Then 
    b = c 
Else 
    a = b 
    b = c 
End If 
関連する問題