001 package de.hska.info1.suchen;
002
003 /**
004 * Lösung zur Übungsaufgabe in der Rechnerübung
005 * (das Aufgabenblatt mit dieser Aufgabe wird nicht
006 * immer behandelt).
007 *
008 * @author Christian Pape
009 */
010 public class Quadratwurzel {
011
012 public static int anzahlAufrufe = 0;
013
014 public double wurzelZiehen(double z, double l,
015 double r) {
016 anzahlAufrufe++;
017 double wurzel = (l + r) / 2.0;
018 if ( Math.abs(wurzel * wurzel - z) < 0.00001 ) {
019 return wurzel;
020 } else if ( wurzel * wurzel < z ) {
021 return wurzelZiehen(z, wurzel, r);
022 } else {
023 return wurzelZiehen(z, l, wurzel);
024 }
025 }
026 }