Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .6 (H) Wurzelberechnung (5 Punkte)
- In dieser Aufgabe sollen Sie ein Verfahren zur Berechnung der Quadratwurzel implementieren. Die
- Quadratwurzel einer Zahl soll dabei iterativ und nur mit Hilfe der Grundrechenarten bestimmt
- werden. Zum Finden der L ̈sung sollen Sie das Prinzip der Bin ̈ren Suche anwenden.
- o a
- Sei die gegebene Zahl n ∈ R+. Dann k ̈nnen Sie ein Intervall [a, b] bestimmen, in welchem sich die
- o
- √
- gesuchte Zahl n sicher befindet. Um den Suchraum anschließend zu verkleinern, wird das Intervall
- immer wieder in der Mitte geteilt und gepr ̈ft, ob das Quadrat der Trennstelle kleiner oder gr ̈ßer
- u o
- als die Zahl n ist. Entsprechend wird die Suche in der hinteren oder der vorderen H ̈lfte fortgesetzt.
- a
- Das Halbieren wiederholt sich solange bis die Intervallgr ̈ße b − a kleiner als eine vorher festgelegte
- o
- Genauigkeit (z.B. = 0.00001) ist. Nun weiß man, dass alle Zahlen in [a, b] nicht weiter als vom
- echten, reellen Ergebnis abweichen und kann eine beliebige davon als Ergebnis ausgeben.
- Veranschaulicht sieht das sukzessive Halbieren des Intervalls [a, b] wie folgt aus:
- Die Klasse SquareRoot bietet ein Grundger ̈st, auf das Sie aufbauen sollen. Vervollst ̈ndigen Sie die
- u a
- Methode public static double sqrt(double number, double errorMargin). Das Ergeb-
- nis (z.B. in der Variable double myResult gespeichert) kann mit dem Befehl return myResult;
- zur ̈ckgegeben werden.
- u
- Gehen Sie grob nach folgendem Schema vor:
- ̈
- (a) Uberlegen Sie sich geeignete Werte f ̈r a und b (in Abh ̈ngigkeit von n). Begr ̈nden Sie kurz
- u a u
- Ihre Wahl in einem Kommentar im Quelltext.
- (b) Welchen Typ von Schleife verwenden Sie hier und wie lautet die Abbruchbedingung?
- (c) Wie wird im Schleifenrumpf das Suchintervall modifiziert?
Add Comment
Please, Sign In to add comment