../icons/Logo.png

Praktische 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 gebildet wird.

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

Die Aussagen über y und z sehen eher wie Formeln als Sätze aus. Tatsächlich sind die Aussagen über x und y äquivalent. 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 wird. Dann folgt ein logischer Ausdruck. Die Aussage muss mit einem "." Punkt abschießen.

Aussagen

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

x = a und b oder c.      # 1.

Diese Aussage ist auf den ersten Blick mehrdeutig:

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

Gilt die 2. oder die 3. Interpretation?

Aussagen können auch eine Verneinung 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

Durch Regeln wird festgelegt, welche Interpretation gilt wird .

  • Die wichtigste Regel besagt, 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 3. und 5. Aussagen müssen mit Klammern geschrieben werden.

Komplexe Aussagen

Selbstverständlich lassen sich komplexere Aussagen formulieren.

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 bereits in den obigen Beispielen gezeigt, können mehrere Aussagen formuliert werden. Grundsätzlich ist es möglich. zwei oder gar mehrere Aussagen zu einer 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: die letzte Aussage gilt. LogicBuddy macht darauf aufmerksam. Kreidet die zweite Aussage aber nicht als Fehler an.

Auf der anderen Seite können bereits getroffene Aussagen 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 von 14.

Ein- und Ausgänge

Logikschaltungen haben Ein- und Ausgänge. Diese müssen LogicBuddy über spezielle Sätze 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.

Über die Aussage 15. mit Eingang ... wird LogicBuddy mitgeteilt wie die Eingänge heißen. In 21. werden die Ausgänge benannt.

Auch hier gibt es Regeln:

  • Nur bekannte Variablen dürfen in den Aussagen verwendet werden.
  • Eingangsvariablen dürfen nicht geändert werden, also bei einer Aussage nicht vorne stehen.
  • Ausgänge müssen bekannt sein.
  • Es gibt noch Regeln über die Namen von Variablen.
  • 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 Ende einer Zeile.

Aussagen mit WENN

LogicBuddy erlaubt auch Aussagen wie:

x ist wahr wenn a und b.

Hier ist x nur für den Fall dass (a und b) wahr ist bestimmt. Damit es keine Unklarheit 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 auf die Aussage 22. verzichtet werden. Sie wird von LogicBuddy automatisch angenommen. Der Klarheit halber wird aber darauf aufmerksam gemacht.

Diese Art der Formulierung fällt Anfängern leichter als UND, ODER usw.

Undefinierter Wert

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

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 an 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
  • Bei Unklarheit 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 ist erlaubt.
  • Kommentare beginnen mit # und gehen bis zum Ende einer Zeile.

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 auch ein Komma. Außerdem kann für NICHT auch '^' geschrieben werden.

Syntax

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

Die Syntax der Aussagen in LogicBuddy ist verglichen mit natürlichen Sprachen sehr einfach.

Sie wird durch sogenannte Produktionen in Erweiterter Backus Naur Form beschrieben, wie beispielsweise

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'.