Wie trägt man eine Funktion in eine Funktionstabelle ein (Digitaltechnik)?

2 Antworten

Du setzt einfach die Werte für a, b, c und d ein und wertest die Funktion aus.

Kann man auch programmieren:

def f1(a, b, c, d):
  return((d & c | ~(b & (~(a & d) | ~d))) & 1)

print('a b c d | f1')
print('--------+---')
for x in range(0, 16):
  a = (x >> 3) & 1
  b = (x >> 2) & 1
  c = (x >> 1) & 1
  d = x & 1
  print(a, b, c, d, '| ', f1(a, b, c, d))

Raus kommt dann das:

a b c d | f1
--------+---
0 0 0 0 |  1
0 0 0 1 |  1
0 0 1 0 |  1
0 0 1 1 |  1
0 1 0 0 |  0
0 1 0 1 |  0
0 1 1 0 |  0
0 1 1 1 |  1
1 0 0 0 |  1
1 0 0 1 |  1
1 0 1 0 |  1
1 0 1 1 |  1
1 1 0 0 |  0
1 1 0 1 |  1
1 1 1 0 |  0
1 1 1 1 |  1
  • Die eine Möglichkeit ist, alle 16 Fälle durchzutesten und jedesmal den Funktionswert auszurechnen. Ein Programm ist dazu natürlich sehr hilfreich.
  • Die zweite Möglichkeit, die du offenbar beherrschst, ist die Vereinfachung des Terms mit KV-Diagramm. Die Hoffnung wäre, dass dabei ein sehr einfacher Ausdruck übrigbleibt. Z.B. (stimmt jetzt nicht, nur erfunden):

f1 = (a AND b) OR (c AND d)
Das heisst: f1=1, wenn a und b oder c und d = 1 sind. Also

Bild zum Beitrag

 - (Computer, Informatik, Elektrotechnik)