Bestimmen Sie die Wurzel einer Zahl a iterativ nach folgender Formel:

Brechen Sie die Iteration ab, wenn

Lesen Sie den Wert a sowie die Genauigkeitsschranke eps ein und geben Sie die Werte von n sowie xn+1 aus.
Lösung
import java.util.Scanner; // Scanner für die Eingabe von Werten
public class Aufgabe13
{
public static void main(String[] args)
{
// Variablen Deklaration
Scanner scnEingabe = new Scanner(System.in);
double dZahl, dErgebnis, dEPS, dAbweichung;
int iSchritte;
// Variablen Initialisierung
iSchritte = 0;
System.out.print("Wurzel aus der Zahl: ");
dZahl = scnEingabe.nextDouble();
System.out.print("wird berechnet mit der Genauigkeit: ");
dEPS = scnEingabe.nextDouble();
dErgebnis = 1;
do
{ // Schleife aktualisiert das Ergebnis mit der gegebenen Formel
double dPrev = dErgebnis;
dErgebnis = (.5 * (dErgebnis+dZahl / dErgebnis));
dAbweichung = (dErgebnis-dPrev) / dPrev;
if (dAbweichung < 0)
dAbweichung *= -1.;
++ iSchritte;
} // end do
while (dAbweichung > dEPS);
System.out.println("Ergebnis nach "+iSchritte
+ " Schritten: "+dErgebnis);
System.out.println("Vergleich: Wurzel aus "+dZahl+" ist: "
+ Math.sqrt(dZahl));
} // end main
} // end class


