AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Prüfen ob Zahl irrational ist

Ein Thema von Axxus · begonnen am 15. Mär 2007 · letzter Beitrag vom 16. Mär 2007
Antwort Antwort
Seite 4 von 4   « Erste     234
IngoD7

Registriert seit: 16. Feb 2004
464 Beiträge
 
Delphi 7 Enterprise
 
#31

Re: Prüfen ob Zahl irrational ist

  Alt 16. Mär 2007, 14:01
Zitat von Cöster:
Zitat von IngoD7:
Aber den Bezug zum eigentlichen Problem dieses Threads habe ich irgendwie verloren.
Was ist deiner Meinung nach das eigentliche Problem des Threads?
Vielleicht habe ich ja nur irgendwann den Faden verloren ...

Zitat von Cöster:
Die Frage nach dem gleicheseitigen Dreieck, dessen Höhe und Seitenlänge beide rationale Zahlen sind, wurde ja schon längst geklärt
Wenn wir hier vom Thread reden, so darf ich wohl sagen: Die Frage kam nicht als erstes. Als erstes wurde nach einem Delphibefehl zum Überprüfen auf Irrationalität einer Zahl gefragt.

In mehreren Postings wurde daraufhin irgendwie erklärt, dass man ja eine irrationale Zahl nicht einmal in den Computer eingeben könne und sich daher ihre Überprüfung auf Irrationalität von selbst verbietet. Das hat auch jetzt noch Bestand. Und das eigentliche Thema wäre damit beendet gewesen.
Dass aber in Wirklichkeit keine Zahl, sondern ein Ausdruck überprüft werden soll (wie beispielswiese sqrt(2)), das kam erst später. In weiterem Threadverlauf wurde dann immer wieder "Zahl" mit "Ausdruck" oder "Formel" verwechselt.

Zuletzt gerade hier wieder:
Zitat von Cöster:
Für die Frage, wie man prüfen kann, ob eine Zahl rational ist oder nicht (wie es auch in der Überschrift steht), könnte man die Prozedur "IsSqrtIrrational" gut gebrauchen. Die Zahl müsste nur in einem anderen Format gespeichert sein, z.B. so:
Code:
2^23*0,9375*Sqrt(44)
Ich sehe hier nicht eine Zahl. Ich sehe hier eine Formel mit 4 Zahlen.

Wir müssen uns jetzt nicht daran aufhängen, aber mich hat das im Threadverlauf verwirrt.

In eben diesem Thread wurde dann also irgendwann gesagt, dass es um ein gleichseitiges Dreieck ginge, indem weder Seitenlänge noch Höhe irrational sein dürften. Ab da ging ein wildes "Getummel" los, dem ich nicht folgen konnte. Es wurde Primfaktorisierung ins Spiel gebracht etc. pp. Wozu?

Eigentlich hätte doch die auch im Thread bereits genannte Formel für die Höhe h=sqrt(3)/2*a ausreichen müssen, um den Thread entgültig zu beenden. sqrt(3) ist irrational. Jedes Produkt aus einer irrationalen und einer rationalen Zahl ist auch wieder irrational. Die Höhe ist also immer irrational, es sei denn a ist irrational. Nur dann - bei "passenden" irrationalen a - hätte man eine Chance auf eine rationale Höhe. Wie man's aber auch dreht: Irgendeiner von beiden ist immer irrational in einem gleichseitigen Dreieck.

Der Thread war damit aber nicht zuende, sondern irgendwie kam er auf die Irrationalität von Wurzelausdrücken. Das wurde dann auf Ganzzahlen beschränkt und so weit verfeinert, dass es in einer Funktion gipfelte, die feststellen kann, ob Quadratwurzeln aus Ganzzahlen irrational sind oder nicht. Real (also programmtechnisch) stellt das Ding lediglich fest, ob das Ergebnis des Radizierens einer Ganzzahl wieder eine Ganzzahl ergibt oder nicht (wenn nicht --> irrational, okay).

Und da wunderst du dich, wenn ich frage, was das alles mit der eigentlichen Fragestellung zu tun hat? Also mit der Frage, die prinzipiell sogar schon lange vorher beantwortet war (oder hätte sein müssen).

Ich gebe zu, ich habe diesen Zusammenhang weiterhin gesucht. Das dürfte auch "mein Problem" mit diesem Thread ausgemacht haben.
  Mit Zitat antworten Zitat
Cöster

Registriert seit: 6. Jun 2006
589 Beiträge
 
Turbo Delphi für Win32
 
#32

Re: Prüfen ob Zahl irrational ist

  Alt 16. Mär 2007, 20:19
Zitat von IngoD7:
Zitat von Cöster:
Die Zahl müsste nur in einem anderen Format gespeichert sein, z.B. so:
Code:
2^23*0,9375*Sqrt(44)
Ich sehe hier nicht eine Zahl. Ich sehe hier eine Formel mit 4 Zahlen.
Dann siehst du wahrscheinlich bei jedem reellen Typen keine Zahl. Die 1000000 wird in einem Extended z.B. so dargestellt (hier ins Dezimalsystem umgeschrieben):
Code:
(-1)^0 * 2^(16402 - 16383) * 1.9073486328125

Zitat von IngoD7:
Es wurde Primfaktorisierung ins Spiel gebracht etc. pp. Wozu?
Dadurch wurde die Unmöglichkeit eines solchen Dreiecks auf einer allgemeingültigen Ebene bewiesen.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:16 Uhr.
Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf