Title: **Square Root by Iteration Method**

Post by:**GWS** on **December 04, 2019, 01:08:50 PM**

Post by:

Here's another oldie which is probably not really needed these days. :)

We have an inbuilt SQRT() function which is probably faster and more accurate.

However, it's interesting to see how the iteration is used.

Note that it needs Double precision to work correctly ..

Best wishes, :)

Graham

We have an inbuilt SQRT() function which is probably faster and more accurate.

However, it's interesting to see how the iteration is used.

Note that it needs Double precision to work correctly ..

Code Select

`' Square Root by Iteration ..`

openconsole

cls

' Calculating a Square Root using Iteration ..

def x,y,z:double

def i:int

setprecision 10

print

' Example:

z = 27 :' positive real number whose Square root is required

print

print "Square Root of ",z:print:print STRING$(30, "_" )

print:print:print "Iterations: ":print

x = z/2 :' arbitrary start value for the iteration

do

x = 0.5 * (x + z/x)

print x

until ((x*x - z)/z <= 1.e-11) :' the test for convergence

print

print "The Square Root of ",z, " is ", x

' Compare with the inbuilt Sqrt() function ..

print:print

print "Using the CB Sqrt() Function, the result is .. ":print

print sqrt(z)

print:print STRING$(30, "_" )

do:until inkey$<>""

closeconsole

end

Best wishes, :)

Graham