Thread Komplexe Algorithmen, Arrays (26 answers)
Opened by Jack2442 at 2011-11-20 20:51

murphy
 2011-11-21 15:49
#154386 #154386
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
2011-11-21T03:27:10 topeg
[...]
Der Hinweis auf den Satz des Pythagoras sollte schon einiges klar stellen. Dieser besagt ja:
Quote
Die Summe der Quadrate der Katheten entspricht dem Hypotenusen Quadrat.

In Perl Ausgedrückt wäre es ($katheteA**2+$katheteB**2)**0.5=$hypotenuse
[...]

Diese Formulierung in Programmcode halte ich in diesem Fall für eine ganz schlechte Idee, denn es gibt für die Potenzoperationen (oder auch für sqrt) keinerlei Garantie dass das Ergebnis jemals ganzzahlig sein muss!

Es kommt vielmehr immer eine Gleitkommazahl heraus und die muss nur im Rahmen der Maschinengenauigkeit nah am Ergebnis liegen, muss aber keinesfalls eine Ganzzahl sein nur weil das algebraisch korrekte Ergebnis eine Ganzzahl wäre. Wenn überhaupt könnte man hier also prüfen, ob das Ergebnis näher als eine bestimmte Fehlermarge an einer Ganzzahl liegt.

Im hier vorliegenden Falle besteht aber keine Notwendigkeit irgendwelche näherungsweisen Prüfungen vorzunehmen, da man das ganze auch schlicht mit Integerarithmetik erschlagen kann. Man prüfe eben ob
Code (perl): (dl )
($katheteA * $katheteA) + ($katheteB * $katheteB) == ($hypothenuse * $hypothenuse)
When C++ is your hammer, every problem looks like your thumb.

View full thread Komplexe Algorithmen, Arrays