7 Segment Anzeige
lima-city → Forum → Sonstiges → Schule, Uni und Ausbildung
anzeige
argument
beispiel
buchen
dank
darstellen
diagramm
einfachste form
eins
empfehlen
funktion
http
normalform
operator
paar
programm
sache
schule
segment
zeile
-
hi!
ich habe folgendes problem: eine aufgabe besteht darin ein schaltnetz für eine 7-segment-anzeige zu entwerfen (also als eingang 4-bit zahlen).
Man soll unter anderem eine Disjunktive Normalform (DNF) aufstellen und genau hier liegt das problem:
1. was genau ist der unterschied zwischen disjunktive und konjunktive normalform?
2. wie \"verrechnet\" bzw. vereinfacht man solch einen term aus oder, und, nicht?
3. und wie stellt man letztlich so eine normalform auf?
hab auch schon etwas gegoogelt. aber die antworten (wenn mans so nenne kann) waren eher unverständlich (also nach dem prinzip: man benutzt so viele fremdwörter wie möglich um ein fremdwort zu erklären).
würde mich über eine antwort freuen -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hi
Ganz einfach:
zu 1.) und 3.)
DNF: das ist sozusagen die aller einfachste Form wie du eine Wahrheitstabelle in eine Funktion packen kannst. Beispiel:
i||a|b||c
----------
1||0|0||0
2||0|1||1
3||1|0||0
4||1|1||1
Dann sähe die DNf folgendermaßen aus (ich verwende ! als negiert, i steht für die Zeile):
c = (a! & b) oder (a & b)
Du nimmst die Teile die für c = 1 ergeben und packst sie mit nemm \"oder\" zusammen. c gibt schließlich immer dann eine 1 wenn Zeile 2 oder Zeile 4 erfüllt sind. Ansonsten eine 0.
Die DNF ist also die einfachste Form in der du eine boolsche FUnktion darstellen kannst (das bei 4 Variablen der Ausdruck sehr lang werden kann sieht man wohl ganz leicht).
Die KNF ist so ein bisschen das Gegenteil der Funktion. Du schaust dir die stellen an die eine 0 ergeben. In dem obigen Beispiel ist das Zeile 1 und 3. Hier musst du jedoch mit \"oder\" Operatoren arbeiten und mit \"und\" Operatoren das ganze verbinden. Da du jedoch c so haben möchtest das da ne 1 rauskommt musst du die Argumente negieren sprich die KNF von oben lautet:
c = (a oder b) & (a! oder b)
Du verbindest praktisch Zeile 1 und 3 mit einem \"und\". Es müssen daher beide Argumente wahr sein damit c = 1 ist. Also musst du einfach negieren.
zu 2.):
Vereinfachen kannst du grafisch zum Beispiel mittels KV Diagrammen. Find ich persönlich sehr angenehm. Geht aber \"nur\" bis maximal 5 Variablen.
Rechnerisch vereinfach kannst du mit ein paar Rechenregeln (die solltest du halt auswendig lernen). Praktisch ist auch das Gesetz von De Morgan. Die Rechenregeln findest du zum Beispiel hier:
http://de.wikipedia.org/wiki/Boolesche_Algebra
Vereinfachen wir mal die DNF von oben c = (a! & b) oder (a & b):
Mit dem Distributivgesetz gilt (praktisch rückwärts anwenden):
c = (a! & b) oder (a & b) = (a! oder a) & b
a! oder a ist immer eins da eins von beiden immer 1 ist, also gilt:
c = (a! & b) oder (a & b) = (a! oder a) & b = 1 & b = b
(Dieses Ergebnis kann man auch leicht aus der Wahrheitstabelle ablesen. c ist immer dann 1 wenn b = 1 ist).
Ich hoffe das hat geholfen :)
Gruß Tobi -
DANKE.
habs verstanden. weiß jetzt auch wann man die KNF bzw die DNF nimmt. immer dann wenn man mer 1en hat nimmt man die KNF, da das arbeit spart und bei mehr 0en die DNF. =)
also das ganze find ich zwar nicht leicht, aber ich habs immerhin verstanden. -
werktags schrieb:
also das ganze find ich zwar nicht leicht, aber ich habs immerhin verstanden.
Also wenn du ein paar Übungsaufgaben gemacht hast läuft das ganze automatisch ab. Dann löst du solche Sachen im Schlaf ;)
Gruß Tobi -
das stimmt. das setzt aber auch voraus, dass ich übungsaufgaben finde^^ hab mal gegoogelt und keine guten sachen gefunden. bräuchte was, wo es auch lösungen gibt zum vergleichen bzw. etwas was nicht zu schwer ist. was vllt. ne seite???
achja hat mal jm so ne 7-segment-anzeige in einem programm simuliert?? das was ich benutze heißt logic simulator [hier ein link: http://www.tetzl.de/java_logic_simulator_de.html]
hab zwar jetzt das in ner Normalform, weiß aber nicht genau wie ich das jetzt darstellen soll, da die normalform immernoch kompliziert ist! -
Das Programm \"digital Simulator\" kann ich auch noch empfehlen. Ist ganz brauchbar.
Für Übungsaufgaben würd ich dir empfehlen einfach ein Buch zu kaufen. Das hatten wir damals in der Schule:
http://www.bol.de/shop/buecher/suchartikel/elektronik_4_digitaltechnik_vogel_fachbuch/klaus_beuth/ISBN3-8343-3084-1/ID14080896.html?jumpId=617081
Aber ich wieß nicht ob da Übungsaufgaben drin waren.
werktags schrieb:
hab zwar jetzt das in ner Normalform, weiß aber nicht genau wie ich das jetzt darstellen soll, da die normalform immernoch kompliziert ist!
Ja das ist klar, bei 4 Variablen und 9 möglichen Ausgangszuständen
Jetzt würd ich mal ein KV Diagramm machen um das ganze zu vereinfachen oder eben mit Boolscher Algebra wie oben in meinem Beispiel erklärt.
Du kannst ja mal deine bisherige Funktion posten, mal schauen was man da noch rausholen kann.
Gruß Tobi -
hm. danke für den link, aber ob ich mir da jetz en buch kauf, weiß ich noch nicht. brauchs ja im mom nur für die schule, un das thema is in ein paar wochen auch wieder fertig und als hobby möcht ichs auch nich machen;)
ok. fange ich mal an. und zwar musste ich jetz erst mal googlen was en kv diagramm ist. hört sich ja schön an, aber wie das gehen soll, blick ich wieder nicht^^
aber hier kommen mal die funktionen:
vereinbarungen: die vier eingänge sind a,b,c,d; ! soll negiert sein; ^ soll und (wenn in das in ner klammer steht, lass ichs weg also (ab) = (a^b); v soll oder sei.
Segment | Normalform | fkt.
A | KNF | (a v b v c v !d) ^ (a v !b v c v d)
B | KNF | (a v !b v c v !d) ^ (a v !b v !c v d)
C | KNF | (a v b v !c v d)
D | KNF | (a v b v c v !d) ^ (a v !b v c v d) ^ (a v !b v !c v !d)
E | DNF | (!a !b !c !d) v (!a !b c !d) v (!a b c !d) v (a !b !c !d)
F | KNF | (a v b v c v !d) ^ (a v b v !c v d) ^ (a v b v !c v !d) ^ (a v !b v !c v !d)
G | KNF | (a v b v c v d) ^ (a v b v c v !d) ^ (a v !b v !c v !d)
puh. das wars. also, immerhin versteh ich warum man zwischen KNF und DNF unterscheidet, zuerst hatte ich angefangen alles in der DNF zu schreiben, das war echt viel^^
achja, ich hoffe ich hab keinen fehler gemacht. lg -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage