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 kompilierte Version 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 solchen Zahlen geformten Brüchen, also mit rationalen Zahlen. Die Ein- und Ausgabe, sowie die Rechenleistung basiert auf 50-stelligen (genaugenommen 51, Stellen von 0 bis 50) positiven ganzen Zahlen. Kann eine Rechnung aus einem bestimmten Grunde nicht durchgeführt werden, so wird dies durch eine Meldung bekanntgegeben, so dass man nicht befürchten muss, ungenaue Resultate zu erhalten, es sei denn, es hätte sich ein Programmierfehler eingeschlichen.

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

Die Eingabe nimmt ausschliesslich positive Zahlen an. Bei der einzigen Grundoperation, die unter diesen Bedingungen ein negatives Resultat liefern kann, der Subtraktion, wird dann jeweils angegeben, ob das Resultat positiv oder negativ ist. Dies ist auch bei der Lösung der diophantischen Gleichungen 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 das vorliegende Programm aufleuchten.

2) Bruchrechnen mit 50 Stellen

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

3) Euklidischer Algorithmus

Das auf der Primfaktorenzerlegung beruhende Verfahren zum Bestimmen des G.g.T. zweier Zahlen, das meist in der Grundschule gelehrt wird, ist bei grossen Zahlen nicht mehr praktisch durchführbar. Glücklicherweise gibt es einen auf Euklides zurückgehenden einfachen Algorithmus, der es ermöglicht, auch den G.g.T. von sehr grossen Zahlenpaaren auf einfache Weise zu bestimmen. Das Verfahren besteht darin, die erste Zahl durch die zweite Zahl mit Rest zu dividieren. Ist der Rest nicht 0, so wird der Divisor durch den Rest dividiert; dieser Schritt wird so oft wiederholt, bis der Rest 0 ist. Der letzte von 0 verschiedene Rest ist 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 zwei Anfangsglieder und die folgende Vorschrift rekursiv definiert ist: Jedes Glied, mit Ausnahme der ersten beiden, ist die Summe der beiden vorangehenden Glieder. 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 Glieder jeweils 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 ganze Bücher geschrieben worden sind. Nur eine dieser faszinierenden Tatsachen sei hier kurz erläutert. Teilt man eine Strecke (der Länge 1) so, dass sich die kürzere Teilstrecke (Länge x) zur längeren (Länge 1-x) verhält wie die längere zur gesamten Strecke, so sagt man, die Strecke werde im Verhältnis des 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 der Fibonacci-Folge wenn der Index ins Unendliche wächst ist bewiesenermassen genau 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 wiegt 426 kg und enthält ausschliesslich 2 Sorten von Maschinenteilen: solche die 45 kg und solche die 19 kg wiegen. Wie viele Teile von jeder Sorte enthä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 Gleichung zu 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ösung des 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 unbedingt eine eindeutige Lösung) durch Probieren bestimmt werden. Bei grossen Zahlen aber benötigt man einen Algorithmus, wie er dem Programm BRUCH 2.0 zugrundeliegt.

6) Berechnen von Potenzen

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

7) Schreiben auf Datei EIN/AUSschalten

Ist die Option "Schreiben auf Datei" eingeschaltet, so erscheinen auf den entsprechenden Arbeitsbildschirmen drei blinkende gelbe Sterne. Die durchgeführten Rechnungen werden dabei auf eine Textdatei namens BRUCH.TXT geschrieben. Dabei werden jeweils die neuen Rechnungen an die alte Datei angehängt, also nicht überschrieben. Trotzdem wird im Falle, dass beim Einschalten der Option "Schreiben auf Datei" bereits eine Datei mit dem Namen BRUCH.TXT existiert (was meist der Fall ist, wenn bereits mit dem Programm gearbeitet wurde) erst nachgefragt, ob diese verändert werden darf. Da die Datei BRUCH.TXT eine ASCII-Datei ist, kann sie anschliessend mit jedem ASCII-Editor (etwa EDIT von MS-DOS 5.0) bearbeitet werden.

8) Programm verlassen

Das Programm kann mit dieser Option, oder mit verlassen werden. Man verlasse das Programm nicht mit oder durch Abschalten des Rechners, da unter gewissen Umständen dabei die letzten Daten der Datei BRUCH.TXT verloren gehen könnten.

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

Das Programm ist ausbaufähig. Hinweise auf Mängel (Bugs), sowie Verbesserungsvorschlä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 Verwendung seines Programms entstehen könnten strikte ab.



    Programm zum Bruchrechnen [45 kB]

    Beschreibung zum C++ Quelltext

    CPP und EXE Dateien (in ZIP-Datei)