Exercise 7.1: Newton Square Root Loop

Given: a real value Y, and the formula for Newton's square root algorithm,
x(i) = (Y/x(i-1) + x(i-1))/2, where x(0)=Y/2;
Given: termination critierion: |Y - x(i)**2| < epsilon, a real value;
Compose: a for-initial loop that calculates successive approximations x(i) until the termination criterion is met, and returns the final value of the approximation as well as the number of approximations, x(i), i >0, that have been calculated.
for initial
   x    := Y / 2.0;
  count := 0
while abs(Y - x*x) > epsilon repeat
   x := (Y/old x + old x) / 2.0;
   count := old count + 1
returns value of x
        value of count
end for

Previous Section