Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Programmieraufgaben Hier wird regelmäßig eine neue Programmieraufgabe gestellt, die dann gelöst werden soll und in Zusammenarbeit mit den Moderatoren auch besprochen werden kann.

logische Schaltungen

Diskussion: logische Schaltungen im Forum Programmieraufgaben, in der Kategorie Code Kitchen; Anzeige Hi, die neue Aufgabe kommt von blueflash: "ich hab mir ne tolle programmieraufgabe überlegt. ich muss im studium des ...

Antwort
Alt 21.03.05, 01:12   #1 (permalink)
 
Registriert seit: 02.10.01
Nornagest Leistung: Facit NTK
Likes: 0
Standard logische Schaltungen

Anzeige

Hi, die neue Aufgabe kommt von blueflash:

"ich hab mir ne tolle programmieraufgabe überlegt.
ich muss im studium des öfteren logische schaltungen berechnen. d.h.
eingangssignalverlauf -> ausgangssignalverlauf
wäre cool, dafür ein proggi zu haben. das sollte in zweiter
schwierigkeit auch reaktionszeiten berücksichtigen."

Also gegeben wird eine logische Schaltung(bzw. eine Formel) und der Signalverlauf der Eingangssignale und als Ergebnis wird der Verlauf des Ausgangssignals geliefert.
Man kann das Programm auch noch ergänzen indem es z.B. die Schaltung minimiert oder eine NAND/NOR Schaltung mit gleichem Signalverlauf liefert, aber das sind Zusätze.

Viel Spaß damit

Norna

Nornagest ist offline   Mit Zitat antworten
Alt 24.03.05, 18:32   #2 (permalink)
 
Registriert seit: 23.03.05
stefanb Leistung: Facit NTK
Likes: 0
Standard

ja ne is klar!
ich würd mich gern an die arbeit machen aber da giebt nur ein problem:
was für schaltungen? also ich kann dir sagen wie man etwas über den com-port ansteuert
aber vom fach hab ich keinen blassen schimmer. also bitte gieb mir ma nen link oder so damit auch ich erleuchtet werde.
stefanb ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 24.03.05, 19:36   #3 (permalink)
 
Registriert seit: 02.11.04
M@rex Leistung: Facit NTK
Likes: 0
Standard

Er will, dass das Programm nur die Schalter berechnet und nicht das du Schaltungen per PC ansteuerst. Oder irre ich mich?
M@rex ist offline   Mit Zitat antworten
Alt 24.03.05, 20:22   #4 (permalink)
 
Registriert seit: 23.03.05
stefanb Leistung: Facit NTK
Likes: 0
Standard

das war nur ei beispiel das ich zwar in der praxis möglicherweise weis wass das is aber nicht in der theorie.
stefanb ist offline   Mit Zitat antworten
Alt 24.03.05, 21:55   #5 (permalink)
 
Registriert seit: 15.02.05
ink3n Leistung: Facit NTK
Likes: 0
Standard

Logische schaltungen sind welche mit Nicht And Or Nor Nand Bausteinen diese werden vorwiegend als ic`s (cmos) vertrieben...
diese Schaltglieder funzen genau nach dem selben prinzip wie die befehle aussm rechner...
Schltbilder sehen ungefähr so aus:
Code:
 
          _______          
---------|       |
         |    &  |----------     AND
---------|_______|
          _______          
---------|       |
         |    &  |o----------    NAND
---------|_______|
          _______          
---------|       |
         |   ^1  |----------     OR
---------|_______|
          _______          
---------|       |
         |   ^1  |o----------    NOR
---------|_______|
ink3n ist offline   Mit Zitat antworten
Alt 25.03.05, 16:58   #6 (permalink)
 
Registriert seit: 02.11.04
M@rex Leistung: Facit NTK
Likes: 0
Standard

Ich weis jetzt net merh wirklich wie das gemeint sein soll. Also sagen wir mal der User sagt das die Schalter so verknüpft sind (nurn Beispiel) und mein Programm gibt dann die Resultate aus:
Code:
1 -
     &  - (Vom Programm berechnet) 0
0 -            -
                   ^1  - (Vom Programm berechnet) 1
1 -            -
     & - (Vom Programm berechnet) 1
1 -
Oder wie soll das ablaufen?
M@rex ist offline   Mit Zitat antworten
Alt 25.03.05, 17:31   #7 (permalink)
Member of Honour
 
Benutzerbild von Sven
 
Registriert seit: 14.09.03
Sven Leistung: 8086Sven Leistung: 8086
Likes: 34
Standard

Hi
ich sehe das so, bei dem von dir verwendeten beispiel hast du 4 Eingänge, erstellen wir erstmal eine Funktionsgleichung:

(E1 und E2) oder (E3 und E4) = 1

also muss folgendes erfüllt sein
Der Eingang 1 und 2 oder 3 und 4 muss jeweils 1er status haben, damit die Und funktion erfüllt ist, wenn jezt einer der beiden Und Ausgänge 1 hat, ist A1 also der Ausgang der gesammten Schaltung auch 1.

Dies soll dein Programm berechnen, wenn ich Nornagest richtig verstanden habe

mfg
Sven
__________________
Mein Portfolio
Meine Fotogalerie
best view with open eyes
Sven ist offline   Mit Zitat antworten
Alt 25.03.05, 17:47   #8 (permalink)
 
Registriert seit: 05.12.04
.tails Leistung: Facit NTK
Likes: 0
Standard

Der User gibt eine Gleichung ein und das Programm gibt
aus was am Ausgang rauskommt, hab ich das richtig verstanden?
.tails ist offline   Mit Zitat antworten
Alt 25.03.05, 18:16   #9 (permalink)
Member of Honour
 
Benutzerbild von Sven
 
Registriert seit: 14.09.03
Sven Leistung: 8086Sven Leistung: 8086
Likes: 34
Standard

genau und die zwischenwerte nach den jeweiligen und, oder,... blöcken

mfg
Sven
__________________
Mein Portfolio
Meine Fotogalerie
best view with open eyes
Sven ist offline   Mit Zitat antworten
Alt 25.03.05, 18:25   #10 (permalink)
 
Registriert seit: 02.11.04
M@rex Leistung: Facit NTK
Likes: 0
Standard

Ja aber in welcher Weise sollte der User das eingeben etwa so?
Code:
(&E1=0, E2=1;&E3=1, E4=1;)^1
?
Und wenn mans dann och mehr verknüpfen wollte könnte man ja auch das realisieren:
Code:
((&E1=0, E2=0;&E3=1, &E4=1;)^1)&((&E5=1, E6=1;&E7=0, &E8=1;)^1)
(Ergibt übrigens 1) Müsste man dann halt nen Synaxen-Checker(und -Auswerter) für bauen. So würd ichs realisieren.
Dabei wären halt alle Blöcke in Klammern miteinander verknüpft.
Code:
&EingangNummer=Wert, EingangNummer=Wert; -- Synaxe
^1EingangNummer=Wert, EingangNummer=Wert; -- Sysnaxe
() -- Verknüpfung
M@rex ist offline   Mit Zitat antworten
Alt 26.03.05, 14:32   #11 (permalink)
Member of Honour
 
Registriert seit: 03.10.01
blueflash Leistung: Facit NTK
Likes: 1
Standard

Zur Theorie:

Eine Schaltung lässt sich am besten als ein Baum auffassen, an dessen Spitze der Ausgang steht, dieser Baum verzweigt dann nach unten über diverse Knoten (AND, OR, XOR) bis hin zu den Eingängen. Die Berechnung der Schaltung erfolgt dann rekursiv entlang des Baumes nach unten.

Zur Praxis:
Ich schätze, der beste dateityp für die darstellung dieser schaltung wäre xml, da hier die baumstruktur sehr einfach zu implementieren ist.
blueflash ist offline   Mit Zitat antworten
Alt 07.04.05, 21:15   #12 (permalink)
Themenstarter
 
Registriert seit: 02.10.01
Nornagest Leistung: Facit NTK
Likes: 0
Standard

Eingabe kann man z.B. als XML oder einfach in Formd er Gleichung machen (wie Sven vorschlug).

Berechnen kann das Programm eine Wertetabelle oder auch den Wert am Ausgang für eine bestimmte Eingangsbelegung.

So hatte ich das jedenfalls gedacht,
natürlich ist noch Platz für eigene Erweiterungen.

Nornagest
Nornagest ist offline   Mit Zitat antworten
Alt 23.04.05, 16:04   #13 (permalink)
Member of Honour
 
Benutzerbild von Sven
 
Registriert seit: 14.09.03
Sven Leistung: 8086Sven Leistung: 8086
Likes: 34
Standard

Hi
evtl wäre es auch noch gut wenn das programm ein KV diagramm erzeugen könnte
http://de.wikipedia.org/wiki/Kv_diagramm das könnte ich nämlich dann auch noch für meine Ausbildung brauchen (eine tabellenausgabe reicht)

mfg
Svenn
__________________
Mein Portfolio
Meine Fotogalerie
best view with open eyes
Sven ist offline   Mit Zitat antworten
Alt 21.06.05, 16:10   #14 (permalink)
 
Registriert seit: 05.01.05
Zemy Leistung: Facit NTK
Likes: 0
Standard

Wie währe es mit...

... Wertetabelle vom User eingegeben-> KV-Diagramm -> Blöcke finden -> "Blöcke" aufzeigen -> Einzelne Funktionsterme hinschreiben (E1^!E2 usw.) -> gesamter Funktuionsterm hinschreiben

Hänge gerade am Blöcke aufzeigen (die Darstellung der Blöcke, die über den Rand gehen, machen mir Probleme ), gefunden habe ich sie schon, auch mit DontCareFeldern. Auch wie ich auf die Funktionsterme komme, weiß ich schon ziemlich genau. Naja, werde es hier veröffentlichen... wahrscheinlich mit Source (momentan 335 Zeilen Spagethiecode inkl. Pseudoobjektorientierung )

MfG zemy

Das hätte ich zumindest in meiner Ausbildung gebraucht... und aus dem Funktionsterm ne Schaltung zu zaubern, müsste man eigentlich alleine hinbekommen....
Zemy ist offline   Mit Zitat antworten
Alt 21.06.05, 16:20   #15 (permalink)
 
Registriert seit: 07.05.05
nonpretium Leistung: Facit NTK
Likes: 0
Standard

Puh ich hatte auch mal so was in meiner Ausbildung. Musste dann immer diese Pläne selber zeichnen und lesen, das war ein Rotz *g*...
nonpretium ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Software Home » Code Kitchen » Programmieraufgaben » logische Schaltungen
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Programm um Schaltungen aus Logischen Funktionen zu basteln Faultier Applikationen 9 18.11.07 23:03
C - Logische Verknüpfungen casio Code Kitchen 3 02.08.07 14:30
logische operation mit grep sfil Linux/UNIX 12 14.01.07 14:05
Logische/Primäre partition Foxalem Windows 7 26.09.04 09:45


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61