Powered by Invision Power Board


  Reply to this topicStart new topic

> HERON'sches Verfahren zum Ziehen einer Quadratwurz
Dana
  geschrieben am: 12.12.2007, 19:43
Quote Post





Gruppe: Mitglieder
Beiträge: 1
Mitglieds-Nr.: 646
Mitglied seit: 12.12.2007



BITTE BITTE kann das jemand machen?seh überhaupt nicht durch, oder erklärt es mir, aber ich kann das nich.... mad.gif mad.gif mad.gif sad.gif sad.gif

EUKLID'scher Algorithmus zum Finden des gro8ten gemeinsamen Teilers zweier Zahlen
Versuchen Sie, das entsprechende Programm zu erstellen. Der Algorithmus musste Ihnen sowohl inTextform als auch als Programmablaufplan vorliegen.

HERON'sches Verfahren zum Ziehen einer Quadratwurzel
1. Der Wert einer Wurzel von x sei zunachst 1.
2. Die neue Wurzelnaherung (denn 1 ist es in den seltensten Fällen) ist dann:
0.5 * (alte Wurzelnaherung + ___________x__________
............................................... alte WurzelNäherung

3. Der Fehler ist dann (Wurzelnäherung)² — х
4. Die Berechnung (2) wird so lange wiederholt, bis der Fehler cine bestimmte Toleranz unter- 1
schreitet, z. В.
1000
Versuchen Sie, den Algorithmus zu erfassen, indem Sie entweder einen Programmablaufplan erstellen oder das Verfahren mit dern Wert х = 5 einmal ausprobieren. Programmieren Sie dann.

Beitrag bearbeitet von Dana am 12.12.2007, 19:46
PMEmail Poster
Top
NetPanther
geschrieben am: 12.12.2007, 21:46
Quote Post


Administrator


Gruppe: Administratoren
Beiträge: 7.696
Mitglieds-Nr.: 1
Mitglied seit: 29.08.2004



Guten Abend Dana,

willkommen bei Planet-Quellcodes.de. Wir helfen dir gerne bei deinem Problem weiter, lösen solltest du die Aufgabe allerdings selbst. Kannst du uns etwas genauer schildern, was dir an den Aufgaben schwer fällt oder wo du konkret nicht weiterkommst? Hast du irgendwo Verständnisprobleme oder hast du bereits ein Programm angefangen, das nicht oder nur fehlerhaft arbeitet?

Grundsätzlich sind der Euklidische' Algorithmus und das Heronverfahren zwei grundverschiedene Dinge, es wäre deshalb sinnvoll, wenn du zu jedem Thema einen eigenen Beitrag eröffnest. So kommt später niemand durcheinander und es gibt keine Missverständnisse. Deinen alten Beitrag kannst du nachträglich bearbeiten, wenn du oben rechts auf "Editieren" klickst.

Um dem Beitragstitel gerecht zu werden, hier also erstmal ein paar Hinweise zum Heronverfahren: Wie aus deiner Aufgabenstellung bereits hervorgeht, handelt es sich bei Heron um ein iterativen Verfahren zur näherungsweisen Berechnung von Wurzeln.

Konkret beginnt man mit einer Zahl x und legt fest, dass deren Wurzel in erster Näherung 1 ist. Da dies für die wenigsten Zahlen zutrifft, muss man die Näherung jetzt schrittweise verbessern. Mit jeder Iteration (= mit jedem Berechnungsschritt), die man nachfolgend macht, wird die Wurzelnäherung zunehmend genauer. Da Wurzeln in den seltensten Fällen ganze Zahlen sind, sondern oftmals beliebig viele Nachkommastellen haben, muss der Algorithmus irgendwann abgebrochen werden. Im Regelfall setzt man dazu einen Schwellenwert und sagt, dass die Berechnung abbrechen soll, sobald dieser erreicht oder überschritten wurde. In diesem Fall ist das die Genauigkeit, bzw. der Fehler.

Weitere Informationen, einige Beispiele und die vollständigen Rechenvorschriften findest du unter anderem in der Wikipedia.

Da du offensichtlich Probleme mit der Umsetzung hast, kann ich dir auch nur dazu raten, die Berechnung für die Zahl 5 einmal auf dem Papier durchzurechnen.

Im Anschluss solltest du dir überlegen, wie das Vorgehen, mit dem du die Wurzelnäherung händisch berechnet hast, in Programmcode umgesetzt werden könnte.

Vorgehen kannst du dabei z.B. folgendermaßen:

1. Überleg dir, welche Daten du während der Berechnung brauchst und speichern musst. Für diese kannst du dann Variablen anlegen. Denk auch darüber nach, welcher Datentyp sinnvoll ist, sprich ob du Ganzzahlen oder Dezimalzahlen speichern musst.

2. Der Begriff "Iteration" weist bereits darauf hin, dass das Ergebnis schrittweise verbessert werden muss, du also eine irgendwie geartete Schleife brauchen wirst. Überleg dir, wie lange diese laufen soll und formulier eine entsprechende Abbruchbedingung (Stichwort: Genauigkeit, bzw. Fehler).

3. Initialisiere die Variablen sinnvoll.

4. Jetzt kannst du die Rechenvorschriften in Befehle umsetzen und in die Schleife einfügen. Im Großen und Ganzen kannst du die Formeln 1:1 in den Quellcode übernehmen. Achte dabei auf die möglichen Eigenarten einzelner Datentypen (z.B. kann Integer keine Nachkommastellen speichern) und die Vorrangregelung der Operatoren (Punkt vor Strich usw.).

5. Teste das Programm mit deinen Berechnungen auf dem Papier. Mit Ausgaben in der Schleife kannst du auch die einzelnen Zwischenschritte überprüfen.

So, ich denke vorerst sollten das genug Tipps sein. Wenn du noch Probleme hast, melde dich nochmal und gib gleich mit an, was du bis dahin erarbeitet hast. Zu Euklid sage ich dir etwas, sobald du einen eigenen Beitrag dazu eröffnest hast.

MfG


--------------------
:: NetPanther :: NetPanther@gmx.net :: Website :: IRC Channel: #NetPanther ::

Das Leben ist eine Beta. Nichts ist vollkommen.
PMEmail PosterUsers WebsiteICQAOLYahooMSN
Top
0 Besucher zu diesem Thema (0 Gäste und 0 'versteckte' Mitglieder)
0 Mitglied(er):

Topic Options Reply to this topicStart new topic

 



[ DB Queries: 11 ]   [ Execution Time: 0.0800 ]   [ GZIP aktiviert ]