Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Interesting Challenge
Message
From
30/08/1999 17:01:51
 
 
To
30/08/1999 16:25:57
General information
Forum:
Visual FoxPro
Category:
Other
Miscellaneous
Thread ID:
00259328
Message ID:
00259413
Views:
17
>>I recently came across the need to do a financial calculation that cannot be handled Algebraically. IOW, the only way to find the correct number is to guess the answer and work backwards. The math is easy. But the "guessing" algorithm turned out to be be a very interesting piece of code, and I am curious if my solution was the standard way of handling things. I am also interested to see how you might have handled it.
>>
>>My particular problem was far too complex to make a challenge of, but I can give a very simple riddle whose solution would need to use the same principles...
>>
>>Write a function to calculate the square root of a number to a given number of decimal places. (Yes. I know, VFP has the SQRT function, but what would you do without it?)
>
>Ok, you got me interested so see if this is what you thought you would get.
>
>paramters lnval,lnplaces
>set decimals to lnplaces
>lnnext = lnval/2
>lnsmaller = 0
>lnbigger = 2*lnval
>lldone = .f.
>do while !lldone
> do case
> case round(lnnext*lnnext,lnplaces) > lnval
> lnbigger = lnnext
> lnnext = lnnext - ((lnnext - lnsmaller)/2)
> case round(lnnext*lnnext,lnplaces) < lnval
> lnsmaller = lnnext
> lnnext = lnbigger - ((lnbigger - lnnext)/2)
> otherwise
> lndone = .t.
> endcase
>enddo
>return lnnext

Cool- this is sort of what I did. I'll post my function a little later.
Erik Moore
Clientelligence
Previous
Reply
Map
View

Click here to load this message in the networking platform