Programm
zum
Bruchrechnen


  Zu den Downloads
  Wie startet man MS-DOS-Programme unter Windows?


   Ein neues Bruchprogramm in C++, das mit 50 Stellen rechnet, liegt hier zusammen mit dem schrittweise entwickelten Quelltext für didaktische Zwecke vor. Die Beschreibung kann als PDF-Datei runtergeladen werden. Die verschiedenen CPP Dateien, sowie eine kompilierteVersion können in Form einer ZIP-Datei runtergeladen werden. Die Dateien sind sowohl mit dem Microsoft Visual C++ 6.0 Compiler als auch mit dem Compiler von Borland C++ 5.5.1 kompatibel.

Ich wünsche viel Vergügen!


BRUCH.EXE v2.0

Das kleine Programm ermöglicht Rechnen mit grossen Zahlen und mit aus solchenZahlen geformten Brüchen, also mit rationalen Zahlen. Die Ein- und Ausgabe,sowie die Rechenleistung basiert auf 50-stelligen (genaugenommen 51, Stellenvon 0 bis 50) positiven ganzen Zahlen. Kann eine Rechnung aus einem bestimmtenGrunde nicht durchgeführt werden, so wird dies durch eine Meldungbekanntgegeben, so dass man nicht befürchten muss, ungenaue Resultate zuerhalten, es sei denn, es hätte sich ein Programmierfehler eingeschlichen.

Eine Rechnung kann etwa dann nicht durchgeführt werden, wenn sie für ihreDurchführung mehr als 50 Ziffern benötigt, oder wenn versucht wird, durch0 zu dividieren.

Die Eingabe nimmt ausschliesslich positive Zahlen an. Bei der einzigenGrundoperation, die unter diesen Bedingungen ein negatives Resultatliefern kann, der Subtraktion, wird dann jeweils angegeben, ob das Resultatpositiv oder negativ ist. Dies ist auch bei der Lösung der diophantischenGleichungen der Fall. Das Hauptmenu erlaubt die Auswahl zwischen 8 Optionen,die anschliessend kurz erläutert werden:

1) Information

Diese Option lässt einen Bildschirm mit allgemeiner Information über dasvorliegende Programm aufleuchten.

2) Bruchrechnen mit 50 Stellen

Diese Option beinhaltet im Wesentlichen die Möglichkeiten der früherenVersionen des Programms, nämlich das Ausführen der 4 Grundoperationenzwischen zwei beliebigen Brüchen, sowie die Bestimmung des G.g.T.(des grössten gemeinsamen Teilers) und des K.g.V. (des kleinsten gemeinsamenVielfachen) von zwei Zahlen. Auch das Kürzen eines beliebigen Bruchs istmöglich.

3) Euklidischer Algorithmus

Das auf der Primfaktorenzerlegung beruhende Verfahren zum Bestimmendes G.g.T. zweier Zahlen, das meist in der Grundschule gelehrt wird,ist bei grossen Zahlen nicht mehr praktisch durchführbar. Glücklicherweisegibt es einen auf Euklides zurückgehenden einfachen Algorithmus, der esermöglicht, auch den G.g.T. von sehr grossen Zahlenpaaren auf einfacheWeise zu bestimmen. Das Verfahren besteht darin, die erste Zahl durchdie zweite Zahl mit Rest zu dividieren. Ist der Rest nicht 0, so wirdder Divisor durch den Rest dividiert; dieser Schritt wird so oftwiederholt, bis der Rest 0 ist. Der letzte von 0 verschiedene Restist dann der G.g.T. der beiden Zahlen:

744 = 5 * 132 + 84
132 = 1 * 84 + 48
84 = 1 * 48 + 36
48 = 1 * 36 + 12
36 = 3 * 12 + 0

4) Fibonacci-Folge

Eine Fibonacci-Folge ist eine Folge von ganzen Zahlen, die durch zweiAnfangsglieder und die folgende Vorschrift rekursiv definiert ist: JedesGlied, mit Ausnahme der ersten beiden, ist die Summe der beiden vorangehendenGlieder. Die wichtigste Folge dieser Art ist die mit den Anfangsgliedern:

f0 = 0
f1 = 1

Daraus lassen sich nach der erwähnten Vorschrift die nächsten Gliederjeweils durch Addieren der beiden letzten vorangehenden Glieder bestimmen:

f2 = f0 + f1 = 1
f3 = f1 + f2 = 2
f4 = f2 + f3 = 3

Man erhält so nacheinander die Zahlen 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ...

Die Fibonacci-Folge hat ganz verblüffende Eigenschaften, über die ganzeBücher geschrieben worden sind. Nur eine dieser faszinierenden Tatsachensei hier kurz erläutert. Teilt man eine Strecke (der Länge 1) so, dass sichdie kürzere Teilstrecke (Länge x) zur längeren (Länge 1-x) verhält wie dielängere zur gesamten Strecke, so sagt man, die Strecke werde im Verhältnisdes goldenen Schnitts geteilt. Es ergibt sich die Proportion:

x : (1-x) = (1-x) : 1

Die sich daraus ergebende quadratische Gleichung hat die wichtige Lösung

x = ((Wurzel aus 5) - 1)/2 = 0.61803...

Der Grenzwert der Quotienten aus zwei aufeinanderfolgenden Gliedern derFibonacci-Folge wenn der Index ins Unendliche wächst ist bewiesenermassengenau diese Zahl, die den Goldenen Schnitt beschreibt.

5) Diophantische Gleichung ax + by = c

Man betrachte die folgende Aufgabe: Eine Kiste mit der Tara 30 kg wiegt426 kg und enthält ausschliesslich 2 Sorten von Maschinenteilen: solchedie 45 kg und solche die 19 kg wiegen. Wie viele Teile von jeder Sorteenthält die Kiste?

Die Lösung führt über die Gleichung

45 * x + 19 * y = 426 - 30

45 * x + 19 * y = 396

Es geht hier darum, alle GANZZAHLIGEN Lösungspaare x, y dieser Gleichungzu bestimmen. Unser Programm liefert hier folgendes Resultat:

Lösung der Gleichung ax + by = c

Koeffizienten:

a = 45
b = 19
c = 396

Ein Lösungspaar, X0, Y0:

X0 = - 3168
Y0 = + 7524

Alle Lösungen der Gleichung haben die Form:

X = - 3168 + 19 * Z
Y = + 7524 - 45 * Z

Da für x und y nur positive Werte in Frage kommen, kommt als einzige Lösungdes gestellten Problems das Zahlenpaar x=5, y=9 in Frage. Bei so kleinen Zahlen,kann das Resultat (oder die Resultate, denn die Aufgabe hat nicht unbedingteine eindeutige Lösung) durch Probieren bestimmt werden. Bei grossen Zahlenaber benötigt man einen Algorithmus, wie er dem Programm BRUCH 2.0zugrundeliegt.

6) Berechnen von Potenzen

Diese Option bietet die Möglichkeit, die Berechnung einer Potenz schrittweisedarzustellen.

7) Schreiben auf Datei EIN/AUSschalten

Ist die Option "Schreiben auf Datei" eingeschaltet, so erscheinen auf denentsprechenden Arbeitsbildschirmen drei blinkende gelbe Sterne. Diedurchgeführten Rechnungen werden dabei auf eine Textdatei namens BRUCH.TXTgeschrieben. Dabei werden jeweils die neuen Rechnungen an die alte Dateiangehängt, also nicht überschrieben. Trotzdem wird im Falle, dass beimEinschalten der Option "Schreiben auf Datei" bereits eine Datei mit demNamen BRUCH.TXT existiert (was meist der Fall ist, wenn bereits mit demProgramm gearbeitet wurde) erst nachgefragt, ob diese verändert werden darf.Da die Datei BRUCH.TXT eine ASCII-Datei ist, kann sie anschliessend mit jedemASCII-Editor (etwa EDIT von MS-DOS 5.0) bearbeitet werden.

8) Programm verlassen

Das Programm kann mit dieser Option, oder mit verlassen werden. Manverlasse das Programm nicht mit oder durch Abschalten desRechners, da unter gewissen Umständen dabei die letzten Daten der DateiBRUCH.TXT verloren gehen könnten.

Trotz ausgiebiger Prüfung des Programms sei erwähnt, dass für eventuelldurch das Programm BRUCH.EXE verursachte Schäden an Hard- oder Softwarenicht gehaftet wird.

Das Programm ist ausbaufähig. Hinweise auf Mängel (Bugs), sowieVerbesserungsvorschläge nimmt der Autor jederzeit gerne entgegen.

Das Programm darf frei kopiert und weitergegeben werden, unter der Bedingung,dass die Datei BRUCH.EXE in unveränderter Form vorliegt.

Das Programm wurde mit TURBO PASCAL 7.0 von Borland kompiliert.



Der Autor lehnt jede Verantwortung für Schäden, die bei der Verwendungseines Programms entstehen könnten strikte ab.



   Programm zum Bruchrechnen [45 kB]

   Beschreibung zum C++ Quelltext

   CPP und EXE Dateien (in ZIP-Datei)