AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

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 3 von 4     123 4      
Axxus

Registriert seit: 3. Okt 2006
212 Beiträge
 
Turbo Delphi für Win32
 
#21

Re: Prüfen ob Zahl irrational ist

  Alt 15. Mär 2007, 22:21
Erst ma sollte es für den PC kein Problem sein zumindest zu prüfen ob ein Wurzelausdruck irrational ist und Zwar so:

1. Gehen wir von einer Summe aus:
sqrt(367+91*2)
2. So nun Formen wir die Wurzel so um, dass aus der Summe ein Produkt wird (dieser Schritt gilt nur zur verdeutlichung, dass man ein Produkt benötigt)

3. Nun Haben wir:
sqrt(549)

4. Nun zerlegen wir das ganze in Primzahlen
sqrt(183*3)
sqrt(61*3*3)
So geht nicht weiter
Jetzt radizieren wir teilweise:
sqrt(61)*3
So da die Wurzel von Primzahlen immer irrational ist wisssen wir, das die Endzahl auch irrational ist

Ich dachte es gäbe eine Function in Delphi di sowas drauf hat gibts aber anscheinend nicht

(wäre interessant sowas ma selbst zu programieren)

Das jetzt erst mal unabhängig zum Dreieck

Im bezug auf das dreieck gibt es glaub ich keins das die anforderungen erfüllt

Man wasn mist

Naja egal

DAnke

Axxus
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#22

Re: Prüfen ob Zahl irrational ist

  Alt 15. Mär 2007, 22:39
Zitat von Nikolas:
- Wie sieht denn dann die Primfaktorzerlegung von 4/5 aus?
2² * 5^-1
@Axxus: Das ist genau meine Vorgehensweise - Primfaktorzerlegung mit nicht-ganzen (halben *g* ?) Exponenten =>[1] Irrationalität.

[1]Schön, wenn's auch anderherum ginge...
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Benutzerbild von HannosG
HannosG

Registriert seit: 2. Jul 2006
42 Beiträge
 
Delphi 2010 Professional
 
#23

Re: Prüfen ob Zahl irrational ist

  Alt 15. Mär 2007, 23:42
Zitat von Axxus:
Erst ma sollte es für den PC kein Problem sein zumindest zu prüfen ob ein Wurzelausdruck irrational ist und Zwar so:
...
wäre interessant sowas ma selbst zu programieren
Dem stimme ich zu.

Delphi-Quellcode:
function IsSqrtIrrational(Zahl: Integer): boolean;
var
I,Z: Integer;
begin
Result:=false;
For I:=2 to Zahl Do
  begin
  Z:=0;
  While Zahl/I = Zahl div I Do
    begin
    Zahl:=Zahl div I;
    Inc(Z);
    end;
  If Z/2<>Z div 2 then
    begin
    Result:=true;
    exit;
    end;
  end;
end;
Hanno Günther
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#24

Re: Prüfen ob Zahl irrational ist

  Alt 16. Mär 2007, 01:14
Hier nochmal eine Version ohne exit...

Delphi-Quellcode:
function IsSqrtIrrational(Zahl: integer): boolean;
var i, z: integer;
begin
  Result:=false;
  i:=2;
  while (i <= Zahl) and not Result do
  begin
    z:=0;
    while Zahl/i = Zahl div i do
    begin
      Zahl:=Zahl div i;
      inc(z);
    end;
    Result:=(z/2 <> z div 2);
    inc(i);
  end;
end;
Gruss
Thorsten
  Mit Zitat antworten Zitat
IngoD7

Registriert seit: 17. Feb 2004
464 Beiträge
 
Delphi 7 Enterprise
 
#25

Re: Prüfen ob Zahl irrational ist

  Alt 16. Mär 2007, 09:21
Die beiden Funktionen sagen auf geniale - wenn auch umständliche - Art und Weise aus, wann das Ergebnis vom Radizieren der zu untersuchenden Zahl nicht ganzzahlig ist. (Also False bei 0, 1, 4, 9, 16, 25, 36 ... etc. pp.). Toll. Etwas weit vom Thema ab, aber ansonsten toll.

Im Ernst: Was soll das bringen?
  Mit Zitat antworten Zitat
Cöster

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

Re: Prüfen ob Zahl irrational ist

  Alt 16. Mär 2007, 11:21
Zitat:
Delphi-Quellcode:
Zahl/i = Zahl div i
{...}
z/2 <> z div 2;
Wofür wurde eigentlich mod erfunden. . .

Zitat von IngoD7:
Die beiden Funktionen sagen auf geniale - wenn auch umständliche - Art und Weise aus, wann das Ergebnis vom Radizieren der zu untersuchenden Zahl nicht ganzzahlig ist. (Also False bei 0, 1, 4, 9, 16, 25, 36 ... etc. pp.)
Richtig, und in allen anderen Fällen ist das Ergebnis irrational.

Zitat von IngoD7:
Etwas weit vom Thema ab
Axxus hat in Beitrag #21 von so einer Funktion gesprochen, HannosG hat sie implementiert. Das dumme ist nur, dass die Funktion nur mit ganzzahligen Parametern funzt.


Wenn man eine Funktion schreiben wollte, die als Parameter eine Kommazahl enthält und von dieser wissen will, ob sie irrational ist, müsste man sich ein neues Zahlenformat ausdenken, da die vorhandenen reellen Typen alle irrationalen Zahlen auf rationale Zahlen rundet (wie ja schon gesagt wurde). Dieses neue Format müsste noch ein paar zusätzliche Bits für mögliche Wurzeln haben.
  Mit Zitat antworten Zitat
IngoD7

Registriert seit: 17. Feb 2004
464 Beiträge
 
Delphi 7 Enterprise
 
#27

Re: Prüfen ob Zahl irrational ist

  Alt 16. Mär 2007, 11:53
Zitat von Cöster:
Richtig, und in allen anderen Fällen ist das Ergebnis irrational.
Wo steht das denn geschrieben?

//Nachtrag:
Ich bin schon ganz kirre und habe wahrscheinlich den Faden verloren.
Nur dass wir uns nicht missverstehen:
Ein nicht ganzzahliges Ergebnis vom Wurzelziehen aus einer Ganzzahl ist irrational.

Aber den Bezug zum eigentlichen Problem dieses Threads habe ich irgendwie verloren.
  Mit Zitat antworten Zitat
Cöster

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

Re: Prüfen ob Zahl irrational ist

  Alt 16. Mär 2007, 13:05
Zitat von IngoD7:
Zitat von Cöster:
Richtig, und in allen anderen Fällen ist das Ergebnis irrational.
Wo steht das denn geschrieben?
Nenn mir ein Gegenbeispiel: Eine ganze Zahl, dessen Wurzel weder ganzzahlig noch irrational ist.
  Mit Zitat antworten Zitat
IngoD7

Registriert seit: 17. Feb 2004
464 Beiträge
 
Delphi 7 Enterprise
 
#29

Re: Prüfen ob Zahl irrational ist

  Alt 16. Mär 2007, 13:10
Zitat von Cöster:
Zitat von IngoD7:
Zitat von Cöster:
Richtig, und in allen anderen Fällen ist das Ergebnis irrational.
Wo steht das denn geschrieben?
Nenn mir ein Gegenbeispiel: Eine ganze Zahl, dessen Wurzel weder ganzzahlig noch irrational ist.
Das ist zwar nicht die Antwort auf meine Frage , aber ist auch wurscht --> siehe mein Nachtrag im Vorposting (hat sich überschnitten).
  Mit Zitat antworten Zitat
Cöster

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

Re: Prüfen ob Zahl irrational ist

  Alt 16. Mär 2007, 13:38
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? Die Frage nach dem gleicheseitigen Dreieck, dessen Höhe und Seitenlänge beide rationale Zahlen sind, wurde ja schon längst geklärt.

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)
Eine Zahl in solch einem Format könnte man - im Gegensatz zu Extended o.ä. - einer Funktion "IsIrrational" übergeben. In dieser Funktion müsste dann "IsSqrtIrrational" aufgerufen werden.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 4     123 4      


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 09:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz