../icons/Logo.pngPraktische Elektronik


Beschreibung der logischen Funktionen.


Home

Tools

LogicBuddy

Logische Funktionen

Installation von LogicBuddy


Logische Funktionen

Logische Funktionen werden durch Aussagen beschrieben. Eine Aussage hat die Form eines einfachen Satzes. Sie beschreibt, wie der logische Wert einer Variablen aus den Werten anderer Variablen gebildet wird.

x ist a und b.
y = a und b.
z = a oder b.

Die Aussagen über y und z ähneln eher Formeln als Sätzen. Tatsächlich sind die Aussagen über x und y gleichwertig. Wir können das "=" auch als "ist" lesen.

Die von LogicBuddy akzeptierten Aussagen müssen immer wie im Beispiel mit der Variablen beginnen, über die etwas ausgesagt werden soll. Danach folgt ein logischer Ausdruck. Die Aussage muss mit einem '.' Punkt abschießen.

Aussagen

Die Aussagen sind logische Formeln, die meistens einfach verständlich sind. Natürlich können komplexere Aussagen formuliert werden:

x = a und b oder c.      # 1.

Diese Aussage ist auf den ersten Blick nicht eindeutig. Sie könnte interpretiert werden als:

x = ( a und b ) oder c.  # 2.
x = a und ( b oder c ).  # 3.

Trifft die 2. oder die 3. Interpretation zu?

Aussagen können auch eine Verneinung (Negation) enthalten:

y = a und nicht b.
z = nicht a und b.

Auch diese Aussagen sind mehrdeutig:

z = nicht a und b.       # 4.
z = nicht ( a und b ).   # 5.
z = ( nicht a ) und b.   # 6.

Regeln

Regeln legen fest, welche Interpretation gilt.

  • Die wichtigste Regel lautet:
  • Wer sich nicht sicher ist, setzt Klammern.
  • UND-vor-ODER.

Diese Regel entspricht der Punkt-vor-Strich-Regel beim Rechnen mit Zahlen.

  • NICHT bezieht sich nur auf das unmittelbar Folgende.
  • Klammern werden zuerst berechnet.

Mit Klammern kann die UND-vor-ODER-Regel gebrochen werden.

Fazit

x = a und b oder c.      # 1.
x = ( a und b ) oder c.  # 2.
z = nicht a und b.       # 4.
z = ( nicht a ) und b.   # 6.

sind gleich. Die Aussagen 3. und 5. müssen mit Klammern geschrieben werden.

Komplexe Aussagen

Natürlich können auch komplexere Aussagen formuliert werden.

x = a und b oder c. # 1.
y = a und b oder nicht a und nicht b.
z = (a oder b) und nicht (c und ( a oder d ) ).

Mehrere Aussagen

Wie die obigen Beispielen zeigen, können mehrere Aussagen formuliert werden. Grundsätzlich ist es möglich, zwei oder sogar mehr Aussagen über eine Variablen zu machen.

x = a und b.    # 7.
y = b oder c.   # 8.
x = a oder b.   # 9.

Die beiden Aussagen 7. und 8. widersprechen sich. Die Regel sagt einfach, dass die letzte Aussage gilt. LogicBuddy macht darauf aufmerksam, markiert die zweite Aussage, aber nicht als Fehler.

Bereits gemachte Aussagen können später verwendet werden.

v = a oder b.                                    # 10.
w = a oder d.                                    # 11.
x = c und w.                                     # 12.
y = v und nicht x.                               # 13.
z = (a oder b) und nicht (c und ( a oder d ) ).  # 14.

Die Aussage 13. entspricht der Aussage 14.

Ein- und Ausgänge

Logikschaltungen haben Ein- und Ausgänge. Diese müssen LogicBuddy mit speziellen Sätzen mitgeteilt werden:

Eingang sind a, b, c und d.                      # 15.
v = a oder b.                                    # 16.
w = a oder d.                                    # 17.
x = c und w.                                     # 18.
y = v und nicht x.                               # 19.
z = (a oder b) und nicht (c und ( a oder d ) ).  # 20.
Ausgang sind v, y und z.                         # 21.

Die Aussage 15. mit Eingang ... teilt LogicBuddy mit, wie die Eingänge heißen. In 21. werden die Ausgänge benannt.

Regeln

  • In den Aussagen dürfen nur bekannte Variablen verwendet werden.
  • Eingangsvariablen dürfen nicht verändert werden, d.h. sie dürfen nicht am Anfang einer Aussage stehen.
  • Ausgänge müssen bekannt sein.
  • Auch für die Namen der Variablen gibt es Regeln.
  • Variablen bestehen aus Buchstaben und Ziffern.
  • Eingangsvariablen beginnen mit 'a' bis 'u' und dürfen maximal 6 Zeichen lang sein.
  • Ausgangsvariablen beginnen mit 'v' bis 'z' und dürfen maximal 4 Zeichen lang sein.
  • Groß- und Kleinschreibung ist erlaubt.
  • Kommentare beginnen mit # und gehen bis zum Zeilenende.

Aussagen mit WENN

LogicBuddy erlaubt auch Aussagen wie:

x ist wahr wenn a und b.

Hier ist x nur für den Fall bestimmt, dass (a und b) wahr ist. Damit es keine Zweideutigkeit gibt, müsste geschrieben werden:

x ist falsch.             # 22.
x ist wahr wenn a und b.  # 23.

Das bedeutet, wie man sich denken kann, dass x nur dann wahr ist, wenn (a und b) wahr ist.

In LogicBuddy kann die Aussage 22. weggelassen werden. Sie wird von LogicBuddy automatisch angenommen. Der Klarheit halber wird darauf hingewiesen.

Diese Art der Formulierung ist für Einsteigern leichter als UND, ODER usw.

Undefinierter Wert

Bei manchen technischen Logiken ist es hilfreich anzugeben, dass ein Ausgang in bestimmten Fällen nicht von Eingängen abhängt. Dieses kann in LogicBuddy durch eine Aussage wie z.B.

z ist beliebig wenn a und nicht b.
z ist beliebig wenn nicht c.

Hinweis: Das entspricht dem "d" in Wahrheitstabellen.

Aussagen mit BELIEBIG müssen immer am Ende vor AUSGANG stehen.

Diese Aussagen können Logikschaltungen erheblich vereinfachen.

Regeln

  • Eingang ... ist die erste Aussage
  • Ausgang ... ist die letzte Aussage
  • Jede Aussage endet mit einem '.' Punkt.
  • Alle Variablen hinter EINANG beginnen mit 'a' ... 'u'.
    Diese Eingangsvariablen dürfen maximal 6 Zeichen lang sein.
  • Alle normalen Aussagen beginnen mit einer Variablen, die mit 'v' ... 'z' beginnt.
    Diese Ausgangsvariablen dürfen maximal 4 Zeichen lang sein.
  • UND vor ODER: UND wird vor ODER berechnet.
  • NICHT bezieht sich nur auf das unmittelbar folgende.
  • Klammern '(' werden zuerst ausgewertet
  • Im Zweifelsfall Klammern setzen.
  • WAHR und FALSCH sind erlaubt.
  • Eine spätere Aussage geht über vorherige.
  • Bei WENN erhält die Variable nur dann den Wert, wenn die Aussage hinter WENN zutrifft.
  • Jede Variable hat den anfänglichen Wert FALSCH.
  • Aussagen mit BELIEBIG dürfen nur unmittelbar vor AUSGANG stehen.
  • Groß- und Kleinschreibung sind erlaubt.
  • Kommentare beginnen mit # und gehen bis zum Zeilenende.

Deutsch und Englisch

LogicBuddy kann auf Deutsch oder Englisch umgestellt werden.

Entsprechend dieser Einstellung akzeptiert LogicBuddy deutsche oder englische Aussagen. Genau gesagt akzeptiert er beide gleichzeitig, macht aber darauf aufmerksam, wenn eine andere Sprache verwendet wird. Allerdings nur einmal, um die Meldungen nicht zu überlasten.

Die Liste äquivalenter Symbole:

Eingang Input
ist is
und and
oder or
nicht not
wenn when
Ausgang Output
wahr true
falsch false
beliebig any

Der Schönheit halber werden bei EINGANG und AUSGANG auch

ist sind is are
und and ,

akzeptiert.

Anstelle von UND wird auch ein Komma akzeptiert. Außerdem kann für NICHT auch '^' geschrieben werden.

Syntax

Die erlaubten Sätze in einer Sprache werden durch ihre Syntax beschrieben.

Die Syntax der Aussagen in LogicBuddy im Vergleich zu natürlichen Sprachen sehr einfach.

Sie wird durch sogenannte Produktionen in Erweiterter Backus Naur Form beschrieben, wie z.B.

LOGIK   ::= EINGANG ZUWEISUNGEN AUSGANG;
EINGANG ::= 'Eingang' ( '=' | 'ist' | 'sind' ) LISTE_DER_EINGAENGE '.';
  • Entweder kennt man diese Formulierungen oder
  • man tut sich EBNF an oder
  • man lässt einfach LogicBuddy auf eine Formulierung los. LogicBuddy erklärt in den meisten Fällen, was er akzeptieren würde. Er nennt es 'erwartet'.