Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Bruchrechnen mit Delphi (https://www.delphipraxis.net/40804-bruchrechnen-mit-delphi.html)

TOC 21. Feb 2005 12:52


Bruchrechnen mit Delphi
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hi!

Interessiert ihr Euch für Bruchrechnen? Ein leidiges Thema...
Als ich noch in der Hauptschule war hatte ich damit echt große Probleme! Vor allem das elende Suchen von GGT´s und KGV´s ist mir echt schwer gefallen!

Aber wir leben ja jetzt im Computerzeitalter, zum Glück! Schon seit vielen Jahren gibt es Taschenrechner mit denen man Bruchrechnen kann. Aber leider sieht man bei diesen Rechnern immer nur das Ergebnis, und nicht die einzelnen Zwischenschritte der Berechnung. Der Rechenweg bleibt einem leider verschloßen...

Vor einigen Jahren habe ich deshalb ein Bruchrechnen-Programm für Windows in Delphi geschrieben. Dieses Programm rechnet tatsächlich so wie ich es damals in der Hauptschule gelernt habe. Alle Zwischenberechnungen und der Rechenweg werden grafisch ausgegeben.
Brüche werden automatisch erweitert oder gekürzt, man kann sie addieren, subtrahieren, multiplizieren und dividieren. Außerdem kann man mit diesem Program einen Dezimalbruch (eine Zahl mit Komma) in einen echten Bruch umrechnen. Natürlich kann man die Berechnung auch abspeichern oder ausdrucken.

Hier ein Beispiel :

http://img179.exs.cx/img179/5553/beispiel0tx.jpg

Das Programm läuft ab Windows 95. Leider gibt es diverse Unterschiede zwischen Delphi 3.0 und 7.0. Deshalb findet Ihr im Anhang zwei verschiedene Programm-Versionen.
Delphi 7.0 erzeugt zwar einige Warnungen, aber es funktioniert trotzdem. Mit anderen Delphi-Versionen kann ich es nicht überprüfen.

Die Originalversion, die es nur auf meinem eigenen Rechner gibt, verwendet Handy-Sounds von meinem alten Handy das ich früher mal hatte. Aus Gründen des Kopierschutzes mußte ich diese Handy-Sounds aber leider löschen, den Klingeltöne sind sehr begehrt...

Das Programm ist OpenSource. Ihr könnt es Euch ja mal ansehen.

Grüße von TOC!

---------------------------------------------------------------------------------------------------

Version 0.6

Änderungen:

1.) Umwandlung von periodischen Dezimalbrüche in echte Brüche ist nun, dank Cheggas Hilfe, möglich.
2.) Aus allen Units wurde der veraltete Typ 'LongInt' entfernt und durch 'Integer' ersetzt.
3.) Fehler in der Speicher/Lade-Prozedur behoben. Nun können auch negative Brüche ohne Ganzzahl gespeichert/geladen werden.
4.) Erweitertes Internet-Menü
5.) Überlauffehler werden nun durch Exceptions abgefangen
6.) OldStyle-Objekt von InfoForm in Delphi-Objekt geändert
7.) Typ 'TFract' verwendet nun Cardinal-Variablen anstelle von Integer (Bringt 1 Bit mehr, und bei insgesamt 32 Bit ist das ´ne ganze Menge!)

---------------------------------------------------------------------------------------------------

Hi!

Hier kommt Version 0.7 von Bruchrechnen!

Änderungen:

1.) Das Programm schreibt seinen Daten nun unter dem Schlüssel 'HKEY_CURRENT_USER\SoftWare\TocWare\Bruch Rechnen' in die System-Registrierung.

2.) Mit dem Menüpunkt 'Optionen/Registrierung aufheben' kannst Du diese Daten aus Deiner Registrierung wieder löschen.

3.) Alle Farbdialoge speichern nun die Anwenderfarben die Du selbst erzeugen kannst.

4.) Höhe der Statuszeilen etwas vergrößert damit der Text nicht so gequetcht aussieht

Derzeit kann ich Euch nur bitten den fehlerhaften Schlüssel 'HKEY_CURRENT_USER\Bruch Rechnen' von Hand zu löschen (mit RegEdit.exe), Sorry!

Hinweis: Dieses Programm verwendet einige meiner selbst gebastelten Komponenten, die Du benötigst um das Projekt zu öffnen und neu zu kompilieren. Eine aktuelle Version meiner Komponenten im Packet findest Du hier : Tocs Komponenten als Paket

Grüße von TOC!

Khabarakh 21. Feb 2005 13:14

Re: Bruchrechnen mit Delphi
 
Hört sich wirklich sehr interessant an, aber leider sehe ich keinen Download :stupid: .
Und wegen:
Du kannst das Bild auch als Anhang auf die DP oder z.B. bei http://www.imageshack.us hochladen.
Zitat:

Außerdem kann man mit diesem Program einen Dezimalbruch (eine Zahl mit Komma) in einen echten Bruch umrechnen.
Sind auch Dezimalzahlen mit Periode möglich?

EDIT: Ok, da sind sie :mrgreen: . Ich schaus mir gleich mal an!

Ultimator 21. Feb 2005 13:19

Re: Bruchrechnen mit Delphi
 
Bei mir sind irgendwie trotzdem ein paar (sorry, nervige ;-)) Sounds drin (klingt nach Handy) ;-)

TOC 21. Feb 2005 13:28

Re: Bruchrechnen mit Delphi
 
Hi!

Zitat:

Zitat von Khabarakh
Sind auch Dezimalzahlen mit Periode möglich?

Glaub ich eher nich!

Ok, ich hab´s Bild mal hochgeladen bei ImageShake, aber es klappt trotzdem nit, seufz!

[quote="Ultimator"]Bei mir sind irgendwie trotzdem ein paar (sorry, nervige ) Sounds drin (klingt nach Handy)

Lösche im Verzeichnis 'Sound' einfach die Dateien '1.wav' bis '3.wav', und wenn Dich der Beep stört dann auch noch 'Beep.wav'.

Grüße von TOC!

Ultimator 21. Feb 2005 13:29

Re: Bruchrechnen mit Delphi
 
OK, danke :-)

Ansonsten n super Programm :thuimb:

Khabarakh 21. Feb 2005 13:33

Re: Bruchrechnen mit Delphi
 
Ja, die Sounds und die Farben sind wirklich etwas, naja :lol: .
Aber vom Umfang her wirklich super :thumb: ! Jetzt noch Dezimalbrüche mit Periode umwandeln, dann ist es perfekt :wink: .

PS: Ich wollte das Programm mal kompilieren, es fehlt jedoch die Unit "TocsComponents", die doch sehr wahrscheinlich nicht mit Delphi 7 hinzugekommen :wink: .

EDIT:
Zitat:

Zitat:

Sind auch Dezimalzahlen mit Periode möglich?
Glaub ich eher nich!
Hast du die Übersicht über dein Programm verloren :stupid: ?

TOC 21. Feb 2005 13:41

Re: Bruchrechnen mit Delphi
 
Hi!

Zitat:

Zitat von Khabarakh
Hast du die Übersicht über dein Programm verloren ?

Ich glaub nicht! Ich weiß einfach nit wie man das mit den Perioden in nen Bruch umrechnen kann. Da versagen meine dürftigen mathematischen Kenntnisse komplett!

Erklär mir doch mal wie man sowas berechnet. Vielleicht kann ich das Programm dann um diese Funktion erweitern!

Die Farben und Sounds könnt ihr Euch doch nach Belieben ändern!

Zu der Sache mit meinen Komponenten: Ich werde die Unit 'TocsComponentns' die nächsten Tage hier als OpenSource hochladen. Dann könnt ihr das Programm auch neu kompilieren.

Grüße von TOC!

Chegga 21. Feb 2005 13:52

Re: Bruchrechnen mit Delphi
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,

Zitat:

Zitat von TOC
Ich weiß einfach nit wie man das mit den Perioden in nen Bruch umrechnen kann. Da versagen meine dürftigen mathematischen Kenntnisse komplett!

Erklär mir doch mal wie man sowas berechnet. Vielleicht kann ich das Programm dann um diese Funktion erweitern.

Das ist ganz einfach, wenn man mal das Prinzip verstanden hat. :wink:

Ein Beispiel:

2,31|242| = 231011/99900 (die Zahlen zwischen || sind periodisch).

Erklärung: (Anhang Bild)

MfG Marc

P.S.: Ich weiß, ich habe 'ne "Sauklaue"... :pale: (Siehe Bild)

TOC 21. Feb 2005 14:09

Re: Bruchrechnen mit Delphi
 
Hi!

[quote="Chegga"]
Das ist ganz einfach, wenn man mal das Prinzip verstanden hat. :wink:

Ein Beispiel:

2,31|242| = 231011/99900 (die Zahlen zwischen || sind periodisch).[\quote]

Upps, ich raff´s nit. Das Prinzip bleibt mir verschlossen :pale: !

Werd mal ´nen Freund Fragen der Physik studiert hat. Oder erklär Du´s mir noch etwas genauer, mit ein paar weiteren Beispielen. Sobald ich das Prinzip verstanden habe kann ich das Programm wohl erweitern.

Grüße von TOC!

Chegga 21. Feb 2005 14:15

Re: Bruchrechnen mit Delphi
 
Hi,

ich kann dir dazu gerne noch ein paar Beispiele geben
oder es dir genauer erklären. :thumb:
Aber dazu sollten wir die PN-Funktion der DP nutzen. :wink:

MfG Marc

P.S.: Ich bin jetzt 'ne Weile nicht erreichbar,
da ich jetzt dann Mittagschule habe. :?

Chegga 21. Feb 2005 18:23

Re: Bruchrechnen mit Delphi
 
Hi,

da ich per PN auf das Thema "Periodische Dezimalzahlen als Bruch" angesprochen wurde,
hier jetzt mein Versuch es zu erklären:

Nehmen wir mal diese Zahl: 2,31|242|

"Beobachtung":
  • 3 Periodenzahlen (|242|)
    2 Zahlen zwischen Komma (,) und Periode (31)

Zuerst der Nenner des Bruches:

Da wir drei Periodenzahlen haben,
ergeben sich im Nenner drei 9-en.
Da wir zwei Zahlen zwischen Komma und der Periode haben (31),
ergeben sich im Nenner zwei 0-en.
Folglich sieht unser Nenner jetzt so aus:
-------- (-> Bruchstich)
99900 (-> Immer erst die 9er, dann die 0-en)

Nun der Zähler:

Von der Gesamtzahl (2,31|242|) wird die Zahl vor der Periode (231) subtrahiert.
Rechnung:
231242 - 231 = 231011 (-> Zähler)

Der Vollständige Bruch lautet:
231011
---------
99900

In der Hoffnung, dass alles verstanden wurde, ein paar Aufgaben: :zwinker:
a) 0,|214| b) - 3,12|73| c) 2,157|1364125|

MfG Marc

P.S.: Lösungen per PN von mir :!: Bitte nicht im Thread eure Lösungen vergleichen. Danke
(Dieser OT-Beitrag reicht ja wohl. :angel2: )

TOC 22. Feb 2005 15:26

Re: Bruchrechnen mit Delphi
 
Hi!

Vielen Dank, Chegga, :wink: für Deine ausführlich Erklärung. Ich denke das ich damit das Bruchrechnen-Programm um diese interessante Funktion erweitern können müßte. Ich hab´s mir runtergeladen und werd´s mir zuhause in Ruhe ansehen.

Wird aber wohl ein paar Tage dauern bis ich dies umgesetzt habe.

Grüße von TOC!

mr47 22. Feb 2005 16:02

Re: Bruchrechnen mit Delphi
 
:thumb: Hi Toc! Dein Programm ist wirklich super! Werd das sicher benutzen! :thumb:

Auch die Bedienung ist schön einfach gestaltet! Aber einen Mangel hab ich noch entdeckt! Ich würde gerne fertige Rechnungen mit <Entfernen> wieder löschen. damit man nicht immer ins Bearbeiten-Menü muss.

Ansonsten echt super!

mfg mr47

Aenogym 22. Feb 2005 16:04

Re: Bruchrechnen mit Delphi
 
@chegga: bist du gymnasium? also ich hab das nicht gelernt. aber deine erklärung ist super :thumb:

dankeschön :D ,
Aenogym

Chegga 22. Feb 2005 16:15

Re: Bruchrechnen mit Delphi
 
Zitat:

Zitat von Aenogym
@chegga: bist du gymnasium? also ich hab das nicht gelernt. aber deine erklärung ist super :thumb:

dankeschön :D ,
Aenogym

Jo, ich bin an einem der größten Gymnasien in BW. :wink:
Und du hast Recht, normal lernt man sowas nicht in der Schule.
Aber mein Mathelehrer erstaunt uns immer wieder auf's Neue. :zwinker:
:shock:
Ich hätte nicht gedacht, dass so viele meine Erklärung "cheggen".
Aber jetzt back to Topic :!:

MfG Marc

P.S.:
Zitat:

Zitat von Aenogym
bist du gymnasium

Nein, ich gehe zu einem Gymnasium. :wink:
Selber bin ich keines. :mrgreen:

chkdsk 22. Feb 2005 16:43

Re: Bruchrechnen mit Delphi
 
Zitat:

Und du hast Recht, normal lernt man sowas nicht in der Schule.
Quatsch.

Ich habs auch gelernt. Allerdings nicht mit so einer Waldorf-Methode.

Aenogym 22. Feb 2005 17:07

Re: Bruchrechnen mit Delphi
 
Zitat:

Zitat von chkdsk
Allerdings nicht mit so einer Waldorf-Methode.

:gruebel: also ich finde die methode echt gut. wie hast du es denn gelernt? ist deine methode einfacher?

Aenogym

Khabarakh 22. Feb 2005 18:45

Re: Bruchrechnen mit Delphi
 
Zitat:

Zitat von Aenogym
Zitat:

Zitat von chkdsk
Allerdings nicht mit so einer Waldorf-Methode.

:gruebel: also ich finde die methode echt gut. wie hast du es denn gelernt? ist deine methode einfacher?

Aenogym

Ich denke mal, er meint, dass Chegga es zwar sehr ausführlich erklärt hat, aber weniger die mathematische Erklärung angesprochen hat (0,|9| = 1 usw.).

PS: Wir hatten es Anfang der 9. Klasse im Zusammenhang mit reellen Zahlen. Das ist ja eine wichtige Aussage, dass sich jede rationale Zahl als Bruch darstellen lässt.

TOC 28. Feb 2005 10:47

Re: Bruchrechnen mit Delphi
 
Hi!

Zitat:

Zitat von mr47
:thumb: Hi Toc! Dein Programm ist wirklich super! Werd das sicher benutzen! :thumb:

Auch die Bedienung ist schön einfach gestaltet! Aber einen Mangel hab ich noch entdeckt! Ich würde gerne fertige Rechnungen mit <Entfernen> wieder löschen. damit man nicht immer ins Bearbeiten-Menü muss.

Cool! Freut mich das Dir das Programm gefällt!

Du kannst einfach auf den Mülleimer klicken, das löscht alle Berechnungen.

Ich sollte wohl noch die 'Del'-Taste für´s Löschen abfragen...

Grüße vo TOC!

TOC 1. Mär 2005 13:19

Re: Bruchrechnen mit Delphi
 
Zitat:

Zitat von Khabarakh
Zitat:

Zitat von Aenogym
Zitat:

Zitat von chkdsk
Allerdings nicht mit so einer Waldorf-Methode.

:gruebel: also ich finde die methode echt gut. wie hast du es denn gelernt? ist deine methode einfacher?

Aenogym

Ich denke mal, er meint, dass Chegga es zwar sehr ausführlich erklärt hat, aber weniger die mathematische Erklärung angesprochen hat (0,|9| = 1 usw.).

PS: Wir hatten es Anfang der 9. Klasse im Zusammenhang mit reellen Zahlen. Das ist ja eine wichtige Aussage, dass sich jede rationale Zahl als Bruch darstellen lässt.

Also, das mit 0,|9| bereitet mir großes Kopfzerbrechen! Ich bin nur Hauptschüler! Deshalb sind meine mathematischen Kentnisse recht dürftig. Nach Cheggas Algorhytmus ist 0,|9|=1 :?: !?! Ist dies nun ein Fehler oder nicht? Diskutiert ruhig mal weiter über Bruchrechnen und helft mir etwas auf die Sprünge :drunken: !

Läßt sich wirklich jede rationale Zahl als Bruch darstellen? Ist Pi eine rationale Zahl? Oder Wurzel aus 2?

Wenn ihr weitere interessante Bruch-Algorhytmen habt dann erklärt sie mir bitte.

Ich finde Cheggas Beitrag war gar nit OffTopic. Immerhin könnte ich dank seiner Erklärung diese interessante Funktion Problemlos ins Bruchrechnen-Programm einbinden.
Und das Thema hier lautet immer noch: "Bruchrechnen mit Delphi".

Grüße von TOC!

Ultimator 1. Mär 2005 13:31

Re: Bruchrechnen mit Delphi
 
Zitat:

Ist Pi eine rationale Zahl? Oder Wurzel aus 2?
Nein, weder noch ;-)
Wenn du magst, kann ich dir mal die Begründung (zumindest von der Sache mit Wurzel 2) raussuchen, wenn ich sie noch finde :-)

Khabarakh 1. Mär 2005 13:50

Re: Bruchrechnen mit Delphi
 
Zitat:

Zitat von TOC
Zitat:

Zitat von Khabarakh
Zitat:

Zitat von Aenogym
Zitat:

Zitat von chkdsk
Allerdings nicht mit so einer Waldorf-Methode.

:gruebel: also ich finde die methode echt gut. wie hast du es denn gelernt? ist deine methode einfacher?

Aenogym

Ich denke mal, er meint, dass Chegga es zwar sehr ausführlich erklärt hat, aber weniger die mathematische Erklärung angesprochen hat (0,|9| = 1 usw.).

PS: Wir hatten es Anfang der 9. Klasse im Zusammenhang mit reellen Zahlen. Das ist ja eine wichtige Aussage, dass sich jede rationale Zahl als Bruch darstellen lässt.

Also, das mit 0,|9| bereitet mir großes Kopfzerbrechen! Ich bin nur Hauptschüler! Deshalb sind meine mathematischen Kentnisse recht dürftig. Nach Cheggas Algorhytmus ist 0,|9|=1 :?: !?! Ist dies nun ein Fehler oder nicht? Diskutiert ruhig mal weiter über Bruchrechnen und helft mir etwas auf die Sprünge :drunken: !

Ja, 0,|9| ist wirklich 1 :wink: . Die schwammige Erklärung: Es kann ja nichts mehr dazwischen liegen :mrgreen: . Die richtige, mit der man dann auch auf die Umwandlung von oben kommt: 1/9 ist ja 0,|1|, 2/9=0,|2|, also ist 0,|9|=9/9=1.
Zitat:

Zitat von TOC
Läßt sich wirklich jede rationale Zahl als Bruch darstellen? Ist Pi eine rationale Zahl? Oder Wurzel aus 2?

Ja, nein, nein :wink: .

Zitat:

Zitat von TOC
Wenn ihr weitere interessante Bruch-Algorhytmen habt dann erklärt sie mir bitte.

Nett wäre noch eine Approximation von irrationalen Zahlen (z.B. durch Kettenbrüche:)
Zitat:

Näherungsbrüche aus Kettenbruchentwicklung
Aus den Folgegliedern der Kettenbruchentwicklung lassen sich sukkzessive Näherungsbrüche gewinnen. Wenn fi das i-te Folgeglied der Kettenbruchentwicklung ist, so ergibt sich der i-te Näherungsbruch zi/ni aus den Rekursionsformeln zi=fi·zi-1+zi-2 und ni=fi·ni-1+ni-2 mit z-2=0, z-1=1, n-2=1 und n-1=0.
:zwinker:
Nimm einfach alle Nenner bis zu einer Höchstgrenze, dazu dann passende Zähler, wenn es sich nicht mehr als ein eingegebener Wert unterscheidet, wird es ausgegeben.

[edit]@Ultimator (bzw. TOC): http://www.arndt-bruenner.de/mathe/9...irrational.htm

Oxmyx 1. Mär 2005 14:27

Re: Bruchrechnen mit Delphi
 
Zitat:

Zitat von Khabarakh
Ja, 0,|9| ist wirklich 1 :wink: . Die schwammige Erklärung: Es kann ja nichts mehr dazwischen liegen :mrgreen: . Die richtige, mit der man dann auch auf die Umwandlung von oben kommt: 1/9 ist ja 0,|1|, 2/9=0,|2|, also ist 0,|9|=9/9=1.

Und die nicht schwammige Erklärung:

0,9999... ist eine unendliche konvergierende Reihe, die auch als Folge 0,9 + 0,09 + 0,009 + 0,0009 + ... dargestellt werden kann.
Es dürfte jedem klar sein, dass 0,9 auch geschrieben werden kann als 9*10^(-1), 0,09 ist 9*10^(-2), 0,009 ist 9*10^(-3), etc.
Also entspricht die Folge der Summe
http://home.arcor.de/oxmyx/summe1.jpg
Daraus kann man dann den Grenzwert bestimmen:
http://home.arcor.de/oxmyx/lim1.jpg

Khabarakh 1. Mär 2005 14:54

Re: Bruchrechnen mit Delphi
 
Auch nicht schlecht :wink: .

jfheins 1. Mär 2005 14:56

Re: Bruchrechnen mit Delphi
 
Ich weis, ich werde OT, da das jetzt weniger mit reellen Zahlen als mit Brüchen zu tun hat, aber:

Der Beweis, dass √2 keine rationale Zahl ist: (Nach Euklid glaub' ich :mrgreen: )

Wenn √2 eine rationale Zahl ist, kann sie als unkürzbarer Bruch zweier natürlicher Zahlen dargestelt werden.

Bruch: a/b

Dann gilt: a²/b² = 2

Da dann a² = 2 * b² , folgt, dass a² durch 2 teilbar ist und somit a gerade sein muss.
(Nur das Quadrat einer geraden Zahl ist gerade)

Da a gerade ist ist das Quadrat von a durch 4 teilbar. Es gilt a = 2 * c und a² = 4 * c²

Da a² = 2 * b² gilt auch 2 * b² = 4 * c²

Daraus folgt b² = 2 * c², also ist b² und somit auch b duch zwei teilbar.

Daraus folgt, dass der Bruch a/b mit zwei kürzbar ist, ein Widerspruch zu unserer Ausgangshypothese.

√2 kann also nicht duch einen Bruch beschrieben werden,
und ist somit keine rationale Zahl, sondern eine irrationale.

TOC 2. Mär 2005 14:19

Re: Bruchrechnen mit Delphi
 
Hi!

Zitat:

Nett wäre noch eine Approximation von irrationalen Zahlen
Uff! Ob ich das hinkrieg? Is ja wirklich erstaunlich was ihr alles über Mathe wißt! Ich bin beeindruckt! Ich finde viele Erwachsene sollten mehr Respekt vor Euch Kids haben!

Also, ich hab mir alles runtergeladen und werds mir zuhause in Ruhe reinziehen.

Aber wenigstens bin ich froh das 0,|9| = 1 kein Fehler ist. Ich hab´s nit gerne wenn eins meiner Programme so´n Fehler machen würde!

Grüße von TOC!

Khabarakh 2. Mär 2005 20:01

Re: Bruchrechnen mit Delphi
 
Das mit den Kettenbrüchen aber nicht ernstnehmen :wink: .
So sollte es ja etwa aussehen:
Delphi-Quellcode:
Approximation(Value, delta: Single; MaxDenominator: Integer): TBruchArray; //delta ist der maximale Unterschied, deine Implementierung der Brüche habe ich mir nicht angeschaut
var i: Integer;
begin
  for i:=1 to MaxDenominator do
    if Abs(Round(i*Value)/i)<delta then  //Round(i*Value) müsste der Zähler sein
      //Bruch hinzufügen
end;
Also, entweder es ist richtig oder total falsch :gruebel: .

jfheins 2. Mär 2005 20:05

Re: Bruchrechnen mit Delphi
 
Zu Kettenbrüchen: Da hab' ich mal was zu geschrieben, siehe Code-Library: KettenbruchKettenbruch

Airblader 2. Mär 2005 20:54

Re: Bruchrechnen mit Delphi
 
Zu der Frage oben mit PI.
Ich bin zwar "nur" 9. Klasse, aber ich weiss, dass sich PI aus 4 * arctan(1) zusammensetzt...ja..was man so alles lernt wenn man neugierig ist :)

Das 0,|9| = 1 hatten wir auch vor ein paar Wochen, und ehrlich gesagt finde ich zumindest die Erklärung unseres Mathelehrers unschlüssig (obwohl er sonst wirklich alles top erklärt und sehr gut ist).

Ich weiss es nicht genau, aber er meinte, es gibt keine Zahl die man zu 0,|9| addieren kann um auf 1 zu kommen, denn was man auch addiert, man könnte die geschriebene Zahl einfach um eine 9 der Periode erweitern.
Meine "Lösung" war ja 0,|0|1 was aber unmöglich ist da die 1 ja praktisch nie erscheint (aber trotzdem da ist).

Ich finde nur, angenommen wir nehmen
0,9999
Dann bräuchten wir
0,0001 um auf 1 zu kommen.
Nach Aussage des Lehrers könnten wir aber
0,99999
nehmen und schon bräuchten wir 0,00001 um auf 1 zu kommen.

Aber - und das ist mein Kritikpunkt:

Wenn er "einfach so" eine 9 der Periode anhängen darf, wieso sollte ich es dann nicht auch dürfen?

Der Knackpunkt wäre halt nur diese nie erscheinende 1 bei 0,|0|1 , aber das ist doch sicher Interpretationssache.
Praktisch wird sie nie erscheinen, theoretisch ist sie jedoch da, liegt nur im unendlichen.

Wenn man dann 0,|9| = 1 setzt (obwohl es rein vom Menschenverstand her ja Unsinn ist, das wäre wie a=b für a!=b zu sagen)
sollte man doch auch 0,|0|1 zulassen als praktisch nicht existierende Zahl.

"x,|y|z" müsste doch die selben Rechengesetze haben, wieso sollte es also ungültig sein?
Man kann zwar sagen man kann bei
0,|0|1 + 0,|0|2
Die 0 immer um eins erweitern und hat einen neuen Wert, aber was wenn man einfach einen Term hat der sich nicht angeben lässt, sprich:

0,|0|3

Das ist bei irrationalen Zahlen doch nicht anders.
Zwar lassen sich alle auf dem Zahlenstrahl eindeutig festlegen, trotzdem kann man sie nicht als Wert angeben, da sie ja weder periodisch noch abbrechend sind, sprich unendlich und damit nicht ausschreibbar.
Man kann nur einen Rundungswert angeben, was sich bei 0,|0|1 aber auch lässt.


Gut, ich verstehe nicht viel davon, aber ohne eine ordentliche Begründung kann ich mich nicht damit abfinden, muss es zwar akzeptieren, habe aber immer Probleme damit :D

air

Chegga 2. Mär 2005 21:07

Re: Bruchrechnen mit Delphi
 
Hi,

*Klick*
Damit müsste jetzt endgültig alles rund um die Periode geklärt sein. :zwinker:

MfG Marc

(P.S.: Besser hätte ich es selber nicht erklären können. :angel2: :mrgreen: )

TOC 15. Jul 2005 10:30

Re: Bruchrechnen mit Delphi
 
Hi!

Wieder mal ein UpDate, aus mittlerweile wohl bekannten Gründen :roll: !

Ich hoffe ich hab bei der Überarbeitung keine neuen Fehler hineingebaut... :? !

Grüße von TOC :drunken: !

DevilsCamp 15. Jul 2005 13:21

Re: Bruchrechnen mit Delphi
 
Ich habe da was gefunden, das optimiert werden könnte:


x/y * y/1

Das Programm macht folgendes:

1. x und y haben KEINEN GGT:
x/y * y/1 = x/y * y = x/y * y/1 = (x*y)/(y*1) = (x*1)/(1*1) = x/1 = x

2. x und y haben GGTs a und b, c = y/b:
x/y * y/1 = x/y * y = a/b * y = a/b * y/1 = (a*y)/(b*1) = (a*c)/(1*1) = (a*c)/1 = a*c = x


Das könnte doch so abgekürzt werden, dass die vielen Rechenschritte nicht nötig sind ;)

TOC 16. Jul 2005 14:29

Re: Bruchrechnen mit Delphi
 
Hi!

Zitat:

Zitat von DevilsCamp
Ich habe da was gefunden, das optimiert werden könnte:

x/y * y/1

Das Programm macht folgendes:

1. x und y haben KEINEN GGT:
x/y * y/1 = x/y * y = x/y * y/1 = (x*y)/(y*1) = (x*1)/(1*1) = x/1 = x

2. x und y haben GGTs a und b, c = y/b:
x/y * y/1 = x/y * y = a/b * y = a/b * y/1 = (a*y)/(b*1) = (a*c)/(1*1) = (a*c)/1 = a*c = x


Das könnte doch so abgekürzt werden, dass die vielen Rechenschritte nicht nötig sind ;)

Ach, herje, what Formeln! Sorry, ich bin nur Hauptschüler! Wenn ich solche Formeln sehe rast ich aus und raff gar nix mehr :cry: ! Es ist durchaus möglich das Du recht hast, ich kanns nit beurteilen. Was möchtest Du denn Optimieren, die GGT routiene? Erkläre mir das ganze bitte mal in einer für mathematische Laien verständlichen Sprache!

Grüße von TOC :angel2: !

DevilsCamp 18. Jul 2005 06:55

Re: Bruchrechnen mit Delphi
 
Zitat:

Zitat von TOC
Hi!

Zitat:

Zitat von DevilsCamp
Ich habe da was gefunden, das optimiert werden könnte:

x/y * y/1

Das Programm macht folgendes:

1. x und y haben KEINEN GGT:
x/y * y/1 = x/y * y = x/y * y/1 = (x*y)/(y*1) = (x*1)/(1*1) = x/1 = x

2. x und y haben GGTs a und b, c = y/b:
x/y * y/1 = x/y * y = a/b * y = a/b * y/1 = (a*y)/(b*1) = (a*c)/(1*1) = (a*c)/1 = a*c = x


Das könnte doch so abgekürzt werden, dass die vielen Rechenschritte nicht nötig sind ;)

Ach, herje, what Formeln! Sorry, ich bin nur Hauptschüler! Wenn ich solche Formeln sehe rast ich aus und raff gar nix mehr :cry: ! Es ist durchaus möglich das Du recht hast, ich kanns nit beurteilen. Was möchtest Du denn Optimieren, die GGT routiene? Erkläre mir das ganze bitte mal in einer für mathematische Laien verständlichen Sprache!

Grüße von TOC :angel2: !

Wenn ich einen Bruch mit seinem Nenner (den aber als Bruch Nenner/1 geschrieben) multipliziere, dann fängt dein Programm an umständliche (und überflüssige) Operationen durchzuführen, nur am Ende dann herauszufinden, dass z.B. 3/4 * 4/1 = (3*4)/4 = 3 ist.

Wenn nun Zähler und Nenner des ersten Bruchs auch noch einen GGT besitzen, dann wird's noch komplizierter.
Bsp:
3/12 * 12/1 = 3/12 * 12 = 1/4 * 12 = 1/4 * 12/1 = (1*12)/(4*1) = 12/4 = 3
^^^ das hätte man auch einfacher so rechnen können:
3/12 * 12/1 = (3*12)/(12*1) = 3

;)

TOC 18. Jul 2005 10:23

Re: Bruchrechnen mit Delphi
 
Hi!

Zitat:

Zitat von DevilsCamp
Wenn ich einen Bruch mit seinem Nenner (den aber als Bruch Nenner/1 geschrieben) multipliziere, dann fängt dein Programm an umständliche (und überflüssige) Operationen durchzuführen, nur am Ende dann herauszufinden, dass z.B. 3/4 * 4/1 = (3*4)/4 = 3 ist.

Wenn nun Zähler und Nenner des ersten Bruchs auch noch einen GGT besitzen, dann wird's noch komplizierter.
Bsp:
3/12 * 12/1 = 3/12 * 12 = 1/4 * 12 = 1/4 * 12/1 = (1*12)/(4*1) = 12/4 = 3
^^^ das hätte man auch einfacher so rechnen können:
3/12 * 12/1 = (3*12)/(12*1) = 3

Ach, das meinst Du! Ja, da könnte man wohl was Optimieren. Lade doch mal "Merkwürdig.brx" und schau dir an was das Programm da für einen Unfug berechnet, kommt aber letztendlich zum richtigen Ergebnis! Ich mußte ja so lachen als ich diese Berechnung gesehen ab! Ich fands´s so lustig das ich´s drin gelassen hab.

Ich hab da recht allgemeine und grundsätzliche Bruch-Algorithmen hineingebastelt. Es gibt sicher noch viele Ausnahmen die man einfacher rechnen könnte...

Hmm. Darüber nuß ich nochmal nachdenken. Mal sehen...

Danke für den Typ :hi: !

Grüße von TOC :drunken: "

parlermo2102 4. Mär 2012 21:19

AW: Bruchrechnen mit Delphi
 
gibt es auch so ein brogram das mehrere Brüche ausrechnet net nur 2 bis zu 8 brüche zusammen ?


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:35 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