![]() |
Boolesche Funktionen
Hi,
ich habe 2 kleine Fragen. 1. Ich habe eine Funktion mit 3 Variablen (b1, b2, b3) Elemente der Menge B {0, 1}. Die Funktion soll zu 1 werden, wenn b1 + b2 * 2 + b3 * 4 kongruent 2 modulo 3 ist. Danach sollen wir die KNF und DNF aufstellen. Ich verstehe den Satz aber nicht so ganz. Bedeutet es, dass meine zu erstellende Boolesche Funktion 1 werden soll, wenn (b1 + b2 * 2 + b3 * 4) mod 3 = 2 ist? Dann muss ich mit den Binärwerten praktisch als Dezimalzahlen rechnen. Mit dem Begriff kongruent und dieser Schreibweise komme ich nicht so ganz klar. :stupid: 2. kleines Problem: Was ist eine n-stellige Funktion? Eine Funktion mit n Argeumenten oder eine Funktion, die in dem Term insgesamt n Variablen vorkommen hat? Ist also folgende Funktion 3-stellig (Auch wenn die Funktion sinnfrei ist ^^)? f(b1, b2, b3) = 0 oder muss sie so aussehen, dass sie 3-stellig ist: f(b1, b2, b3) = (b1 v b2 v b3) AND 0 |
AW: Boolesche Funktionen
Zitat:
![]() Das würde dann heißen.
Code:
Grüße
funktionsergebnis := ((b1 + b2 * 2 + b3 * 4) mod 3) = (2 mod 3);
Klaus |
AW: Boolesche Funktionen
Zu Frage 1:
Du kannst es direkt lösen, indem Du die Integerwerte (=ord(b1), ord(b2), ord(b3)) in der Formel verwendest (wie klaus schreibt). Oder Du stellt fest, dass die möglichen Rechenergebnisse Zahlen zwischen 0 und 7 sind und true nur für die Ergebnisse 2 und 5 herauskommen soll, als in Binärdarstellung für 010 und für 101 - also (b1<>b2)and(b1=b3). |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:23 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz