Minterm 2.0 =========== I. Einführung -------------- Das Programm Minterm wurde zum minimieren von Boolschen Formeln entwickelt die bis zu 15 Variablen enthalten dürfen. Zum minimieren wird der Quine-McCluskey- Algoritmus benutzt. Minterm greift auf die Vorteile des AmigaOS 2.04 zurück und besitzt deshalb eine einfache und übersichtliche Benutzeroberfläche. Minterm ist Freeware benutzen Sie es soviel Sie wollen. Ich wäre jedoch sehr froh, wenn ich eine schöne Postkarte mit einen Blick auf Ihre Heimatstadt als Dank für mein Programm erhalte. Dies ist dann für mich ein Zeichen, daß mein Programm auch benutzt wird. Da Minterm V2.0 AmigaOS 2.04 benötigt, habe ich für alle AmigaOS 1.2/1.3 Nutzer Minterm V1.1 beigefügt. Bitte lesen Sie deshalb die Ergänzung am Ende dieser Datei. ACHTUNG !!! ----------- Ich habe mein Programm zwar ausgiebig getestet, jedoch übernehme ich keine Ga- rantie fr die Korrektheit der Ergebnisse und natürlich kann ich auch nicht garantieren, das mein Programm fehlerfrei durchlaufen wird. II. Das Benutzerinterface ------------------------- CLOSEGADGET Mit diesen Gadget können Sie das Programm beenden. Dies funktioniert jedoch nur, wenn es auf eine Eingabe wartet. Den Vorgang des Minimieren kann man damit nicht unterbrechen. RESET-Gadget Dieses Gadget setzt das Programm in den Urzustand zurück. Sie müssen dieses Gadget betätigen, wenn Sie nach der erfolgreichen Minimierung einer Formel, eine weitere bearbeiten wollen. String-Gadget In dieses Gadget tragen Sie die zu minimierende Formel ein. Nachdem Sie die Formel vollständig eingegeben haben, starten Sie mit RETURN die Minimierung. Dieses Gadget befindet sich am unteren Rand des Fensters. Listview-Gadget Dieses Gadget befindet sich am rechten Rand des Fensters. In diesem Gadget wird das Ergebnis der Minimierung gezeigt. In jeder Zeile des Gadgets wird ein Term der Lösung aufgelistet. Cycle-Gadget Dieses Gadget befindet sich rechts über dem String-Gadget. Mit diesen Gadget können Sie sich durch die gültigen Lösungen schalten, wenn mehr als eine exis- tieren sollte. Information-Gadgets Dieses Gadgets finden Sie in der linken Ecke des Fensters. Sie zeigen Ihnen verschiedenen Informationen, wie die Anzahl des Terme, die Anzahl der Variablen und in welcher Phase der Minimierung sich das Programm befindet. Die fünf einzelnen Phasen habe ich hier aufgelistet: Get formula -> Es wird auf die Eingabe der Formel gewartet. Transforming -> Die einzelnen Terme werden ergänzt und umgewandelt. Minimizing -> Die Minimierung läuft. Solving -> Das Programm erstellt alle gültigen Lösungen. Show solution-> Das Ergebnis wird gezeigt. III Wie wird Minterm benutzt. ----------------------------- Es gibt drei Möglichkeiten eine Formel einzugeben: 1) Als Formel mit vollst„ndigen oder unvollständigen Termen. 2) Als eine Anzahl von Termnummern. 3) Als Mischform von 1 + 2. I denke der beste Weg Ihnen die Benutzung meines Programmes zu erklären, ist ein Beispiel. _ _ _ abc + abc + abc Dies ist eine typische Boolsche Formel in der Kurzform. Die lange Form ist: NOT a AND b AND c OR NOT a AND b AND NOT c OR a AND b AND c 1) Als Formel mit voll- oder unvollständigen Termen. Vollständige Terme. Sie müssen das Beispiel wie folgt eingeben: -abc + -ab-c + abc _ Minterm erwartet eine negative Variable (NOT a / a) als -a. Achtung: - Minterm benutzt nur die ersten 15 kleinen Buchstaben als Variablen. - Ihre erste Variable MUSS a heiáen, die zweite b usw.. - Ein Term ist eine Zeichenkette von Buchstaben und dem '-'-Zeichen. zum Beispiel: -ab-c - Minterm zeigt die Lösung in dem grossen Gadget, das sich rechts im Fenster befindet. Jede Zeile enthält ein Term der Lösung. Diese Terme müssen vom Benutzer nur noch mit ein '+'-Zeichen oder entsprechend mit dem logischen ODER verbunden werden. Zum Beispiel: -ab bc Wird so als Lösung geschrieben. _ ab + bc oder NOT a AND b OR b AND c Unvollständige Terme Ein vollständiger Term beinhaltet immer alle Variablen, ein unvollständiger Term jedoch, enthält nur einige Variablen. Beispiel: -abc + -ab-c + bc In dieser Formel in Minterm-Notation ist der letzte Term unvollständig. Minterm bemerkt dies und vervollständigt den Term bevor die Minimierung beginnt. Das Ergebnis wird dadurch nicht verfälscht. 2) Als eine Anzahl von Termnummern. Eine Termnummer ist die Position des entsprechenden Termes in der Wahrheits- tabelle. Für unser Beispiel sieht die Tabelle wie folgt aus: Wahrheitstabelle n c ! b ! a ! Q ---+---+---+--- 0 0 ! 0 ! 0 ! 0 1 0 ! 0 ! 1 ! 0 2 0 ! 1 ! 0 ! 1 3 0 ! 1 ! 1 ! 0 4 1 ! 0 ! 0 ! 0 5 1 ! 0 ! 1 ! 0 6 1 ! 1 ! 0 ! 1 7 1 ! 1 ! 1 ! 1 In dieser Tabelle sind alle möglichen Kombinationen der Variablen aufgelistet. Links von der Tabelle habe ich alle Zeilen durchnummeriert. Dies sind die Term- nummern. Achtung: - Die Variablen müssen immer von rechts nach links in der Tabelle aufgeführt sein. Wie in der Beispieltabelle. - Die erste Zeile muss immer mit Null beziffert werden. Unser Beispiel kann wie folgt mit Termnummern eingegeben. 2 + 6 + 7 Der Vorteil dieser Form der Eingabe ist: 1. weniger Zeichen mssen eingetippt werden. 2. die meisten Boolschen Formeln werden aus Wahrheitstabellen erstellt und deshalb ist bequem diese Form der Eingabe zu wählen. 3) Eingabe als Mixform von Termen und Termnummern I kann mir keine Anwendung vorstellen, bei der diese Form der Eingabe ein Sinn ergibt. Dennoch ist diese Form möglich. Achtung: - Wenn Sie in einem Term eine Zahl plazieren, so wird immer die Termnummer genommen. Beispiel: -a3c Minterm nimmt in diesen Fall den Term Nummer 3 und ignoriert -ac. Ein Korrektes Beispiel für die Mixform ist: -abc + 6 + abc Diese Formel entspricht der Formel "-abc + -ab-c + abc". IV. Fehlermeldungen ------------------- Alle folgende Meldungen werden in einen Requester gezeigt. In den meisten Fällen findet der Benutzer drei Gadgets vor. Klicken Sie Ihre Auswahl an und das Programm wird entsprechend reagieren. No more memory Not enough memory for table Das Programm ben”tigt mehr Speicher, aber Ihr Rechner hat keinen freien Speicher mehr. Too much restterms Minterm V1.1/V2.0 kann nur max. 32 Restterme verwalten. Bei Ihrer Formel ent- stehen mehr als 32. Entschuldigung, aber Sie müssen Ihr Problem wohl selbst lö- sen. Beim Testen trat dieses Problem nie auf. Schicken Sie mir Ihre Formel, falls Sie es schaffen. No formulas Sie haben keine Formel eingegeben. Too much variables Ihre Formel enthält mehr als 15 Variablen. Formula is always true Ihre Formel führt zu einem Ergebnis, das bei jeder Kombination von Variablen zum Ergebnis wahr führt. Beispiel: ab + -ab + a-b + -a-b V. Support ---------- Dieses Programm ist Freeware, deshalb biete ich nur eine geringen Support. Dieser besteht darin, mir bekannte Fehler zu beheben. Deshalb senden Sie mir bitte eine ausführliche Beschreibung mit allen Eingaben, die Sie getätigt haben, wenn Sie einen Fehler entdecken. Danke! Ich werde eine korrektierte Version meines Programmes sobald als möglich in die Public Domain geben. Bitte schicken Sie mir keine Disketten, ich kann diese aus kostengründen nicht zurücksenden. Ausserdem kann eine Korrektur einige Zeit dauern, da ich nicht ständig vor dem Rechner sitzen kann und will. Addresse: Achim Pankalla Hansa Strasse 12 D-2970 Emden 1 Germany (West) VI. Minterm V1.1 ---------------- Minterm V1.1 benutzt den selben Kode zum minimieren von Formeln wie die Version 2.0, jedoch ist die Version 1.1 natürlich älter und besitzt eine nur schlechte Benutzeroberfläche, da Sie damals schnell fertig sein musste. Hier die Unterschiede zwischen V1.1 und V2.0: - Bevor Sie die Terme eingeben k”nnen, müssen Sie in das "Number of vars." Gadget die Anzahl der Variablen eingeben. - Dann geben Sie bitte einzelt die Terme ein und zwar in das "Term/Termnumber" Gadget. Beispiel: Formel : a-b + ab Eingabe: a-b ab - Um die Minimierung zu starten, betätigen Sie das Minimize-Gadget. - Der Ablauf der Minimierung wird in der Workbench-Titelzeile aufgezeigt. - Die Lösung der Minimierung wird in einem separaten Fenster gezeigt. Diese wird mit den Closegadget geschlossen. Sind mehrere L”sungen möglich, werden diese nacheinander gezeigt. Haben Sie erst einmal ein Lösungsfenster geschlossen, so können Sie diese Lösung nicht mehr zurückrufen. - Um eine weitere Formel zu minimieren, muß das Programm beendet und neu ge- startet werden. - Alle Fehler werden im Hauptfenster angezeigt. Sie müssen das Programm beenden und neu starten, wenn ein Fehler auftrat.