Drop links or images here to add them to the editor.

Newton's method of calculating a square root.

★★☆

5² = 25, so √25 = 5, or expressed another way, 5 * 5 = 25, so the square root of 25 is 5. Newton's method is one way to calculate the square root of a number.

Square root

Make

Write a program that outputs the square root of a number using Newton’s method.

Success Criteria

Remember to add a comment before a subprogram, selection or iteration statement to explain its purpose.

Complete the subprogram called sqroot that:

  1. Takes the parameter x which is the number to square root.
  2. root = x at the start of the algorithm.
  3. root is repeatedly recalculated as 0.5 * (root + (x / root)) until the value of root does not change.

For example, the square root of 64 can be calculated in the sequence of steps:

64
32.5
17.234615384615385
10.474036101145005
8.292191785986859
8.005147977880979
8.000001655289593
8.00000000000017
8.0
8.0 – This value equals the previous value of root, so the algorithm is complete.

Complete the main program so that:

  1. The user can input a positive decimal number to square root.
  2. The square root is output.

Typical inputs and outputs from the program would be:

Enter a number:
25
The square root of 25.0 is 5.0
Enter a number:
64
The square root of 64.0 is 8.0
🆘 If you're really stuck, use this Parsons code sorting exercise
Complete program
// Square root program

using System;

class Submission
{
---
    // -------------------------
    // Subprograms
    // -------------------------
    // Function to calculate the square root of a number using Newton's method
---
    static double sqroot(double x)
    {
---
        double root = x;
        double last_root = 0;
        while (root != last_root)
        {
---
            last_root = root;
            root = 0.5 * (root + (x / root));
---
        }
---
        return root;
---
    }
---


    // -------------------------
    // Main program
    // -------------------------
    public static void Main(string[] args)
    {
---
        Console.WriteLine("Enter a number:");
        double num = Convert.ToDouble(Console.ReadLine());
---
        Console.WriteLine($"The square root of {num} is {sqroot(num)}");
---
    }
---
}