PROJECT    Determining Square Roots Using Newton’s Method   Solution

Objective        To write a program that calculates square roots using Newton’s Method.
 
PROJECT DESCRIPTION

         Write, compile and execute a complete program that prompts the user for a non  negative     real number, calls a method named Compute that uses Newton’s Method to compute            the square root of the number and then displays the square root to the user.  The   method prototype for method Compute and the driver program to test method
            Compute is given in the program code in Figure 1, which follows.  Complete this code by adding the method definition of Compute.

 

            A sample program output is given below.

 

                        Output

 

     Program: find square roots by Newton's Method

     Please enter a number: 3

 

1.50000
1.75000
1
0.25000
 
 
 
 
1.75000
1.73214
2
0.01786
 
 
 
 
1.73214
1.73205
3
0.00009
 
 
 
 
1.73205
1.73205
4
0.00000
 

 

                The square root of 3.00000 is 1.73205

 
 

Information about This Project

 

This particular program uses Newton’s Method, which is an example of an iterative process.  An iterative process is one which performs some task until a result is satisfied.          

 

Newton’s Method for determining square roots is outlined in the steps which follow:        

 

STEP 1             Prompt the user for R , the number whose square root is to be                                        determined.

 

STEP 2             Set x 0  =  R  ÷ 2

 

 

STEP 3             Compute an approximation of the square root of R  using the formula:

                         

 

 

 

x n  +  1  = 
 

 

 

x n
 

 

 


 

( x n  ) 2  −  R
 
 

 

2 x n
 

STEP 4             Repeat STEP 3 until | x n  +  1  −  x n  | is less than the desired level of                            accuracy.  When this level of accuracy has been reached, terminate the                           process and let x n  +  1 be a final approximation of the square root of R . 

 

For the above example, x 0  =  3  ÷ 2  =  1.5

 

x 1  =  x 0  −  ( x 0 2  −  R  ) / ( 2 x 0 )

 

 PROJECT     Determining Square Roots Using Newton’s Method      

 

substitution yields

 

x 1  =  1.50  −  ( 1.50 2  −  3 ) / ( 2  ×  1.50 )  =  1.75

 

x 2  =  x 1  −  ( x 1 2  −  R  ) / ( 2 x 1 )

 

substitution yields

 

x 2  =  1.75  −  ( 1.75 2  −  3 ) / ( 2  ×  1.75 )  =  1.73214

 

x 3  =  x 2  −  ( x 2 2  −  R  ) / ( 2 x 2 )

 

substitution yields

 

x 3  =  1.73214  −  ( 1.73214 2  −  3 ) / ( 2  ×  1.73214 )  =  1.73205

 

x 4  =  x 3  −  ( x 3 2  −  R  ) / ( 2 x 3 )

 

substitution yields

 

x 4  =  1.73205  −  ( 1.73205 2  −  3 ) / ( 2  ×  1.73205 )  =  1.73205

 

Since x 4 and x 3 are approximately the same, the iterative process ceases and the square root of 3 is reported as 1.73205 .

 

 

 
Steps To Complete This Project

 

STEP 1             Open Eclipse and Write the Program Code

 

Open Eclipse, or JCreator or equivalent Java IDE on your computer.  Write the program code that will allow the user to enter the necessary input item(s) and then use these items to compute the required output value(s).

 

STEP 2             Compile and Run Your Program

 

            Build, compile and run your program.  Test the operation of your program using                          appropriate numbers for your input variable(s).

 

 

 

STEP 3             Submit Your Program Code and Your Run Time Output

 

            When completed, submit your program source code as well as the program                     output(s).

 

 

 

 

 

 

 

 PROJECT     Determining Square Roots Using Newton’s Method      

 
 

                        Figure 1           Method Definition and Driver Program for Newton Program

 

 

 

import java.text.DecimalFormat;

import java.util.Scanner;

 

public class Newton {

 

  public static float Compute(float num)

  {

     float sqrRoot = 0;

     // method definition

          

       return sqrRoot;    

  }

    

  public static void main(String[] args)

  {

     // declare a Scanner class object

     Scanner sc = new Scanner(System.in);

     // declare a DecimalFormat class object

     DecimalFormat fourDecimal =  new DecimalFormat("0.0000");

               

     float Number = 0;

               

     System.out.println("Program: find square roots by
           Newton's Method");

     System.out.println("Please enter a number: ");

 

     Number = sc.nextFloat();

 

     System.out.println("The square root of " + Number +
           " is " + fourDecimal.format(Compute(Number)));

     }

}

 
 

 

 
Powered by