So I need to write a program that will approximate PHI (the golden ratio) using Fibonacci Numbers. It has to be within a negative power of 10 (between -1 and -16) oh PHI. So for example, if I put -2 into the input, the approximation of PHI would have to be with 10^-2 of the number that we’re using of 1.618033988749895. Also, we need to show how many Fibonacci terms that were used to get to that number and the difference that the number that we approximated is to PHI.

Here’s my code so far. Please help haha! I think that my problem is in the loop, because when I debug, the program doesn't even give me an answer.

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim Accuracy As Integer
Dim StrOut As String
Dim A, B, Sum, PHI, Difference, Count As Decimal

Accuracy = CInt(txtAccuracy.Text)

A = 0
B = 1
Count = 0

Sum = A + B
A = B
B = Sum
PHI = Sum / A
Difference = 1.6180339887498949 - PHI
Count = Count + 1

If Difference <= 10 ^ Accuracy Then
Exit Do
End If

Loop Until Difference <= 10 ^ Accuracy

StrOut = vbTab & "Number of Terms Used:" & vbTab & CStr(Count) & vbCrLf & vbTab & "Approximation of PHI:" & vbTab & CStr(PHI) & vbCrLf & vbTab & "Difference from PHI:" & vbTab & CStr(Difference)

StrOut = txtAnswer.Text

End Sub
End Class

Recommended Answers

All 2 Replies

Your code may exit the loop, but StrOut = txtAnswer.Text should probably be txtAnswer.Text = StrOut .


Wow, thanks so much. I guess that I got so tied up in my loop and code that I didn't even realize that simple mistake. With a few more fixes, my program is almost complete. I know that I'm new here, but I really appreciate the help.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.