40 lines
945 B
Text
40 lines
945 B
Text
Type mwriter
|
|
value As Double
|
|
log_ As String
|
|
End Type
|
|
|
|
Function Unit(v As Double, s As String) As mwriter
|
|
Dim As mwriter mw
|
|
mw.value = v
|
|
mw.log_ = " " & s & ": " & Str(v) & Chr(10)
|
|
Return mw
|
|
End Function
|
|
|
|
Function Root(mw As mwriter) As mwriter
|
|
mw.value = Sqr(mw.value)
|
|
mw.log_ = mw.log_ & " Took square Root: " & Str(mw.value) & Chr(10)
|
|
Return mw
|
|
End Function
|
|
|
|
Function addOne(mw As mwriter) As mwriter
|
|
mw.value = mw.value + 1
|
|
mw.log_ = mw.log_ & " Added one : " & Str(mw.value) & Chr(10)
|
|
Return mw
|
|
End Function
|
|
|
|
Function Half(mw As mwriter) As mwriter
|
|
mw.value = mw.value / 2
|
|
mw.log_ = mw.log_ & " Divided by two : " & Str(mw.value) & Chr(10)
|
|
Return mw
|
|
End Function
|
|
|
|
Dim As mwriter mw1
|
|
mw1 = Unit(5, "Initial value ")
|
|
mw1 = Root(mw1)
|
|
mw1 = addOne(mw1)
|
|
mw1 = Half(mw1)
|
|
Print "The Golden Ratio is "; mw1.value
|
|
Print !"\nThis was derived as follows:-"
|
|
Print mw1.log_
|
|
|
|
Sleep
|