[TI] Blatt 2 Lsgvorschlag A2

[TI] Einführung in die Technische Informatik
[BuS] Betriebssysteme und Systemsoftware
[PSP] Praktikum Systemprogrammierung
[DakS] Datenkommunikation und Sicherheit

Blatt 2 Lsgvorschlag A2

Beitragvon 777 » 08.12.09 15:37

Hallo zusammen,

Am Freitag werde ich PraesenzÜbung in TI schreiben und habe da ein paar Probleme.

a) Gegeben ist eine Funktion f(x3,x2,x1,x0) = 1 gdw. die Eingabe nicht durch 2 teilbar ist.
Geben Sie die Funktion in allen in der Vorlesung vorgestellten Normalformen an.

Tja die genau Lsg steht auch dabei ich weiss nur nicht wie sie drauf gekommen sind. wie gehe ich da vor? Wie kommt Teilbarkeit ins Spiel? :cry:
777
 
Beiträge: 15
Registriert: 23.09.09 19:54

Beitragvon Mike » 08.12.09 16:29

Die Funktion ist genau dann 1 wenn (x3,x2,x1,x0)2 teilbar ist durch 2, heisst also, genau dann wenn die Zahl, gerade ist.

Anschaulich würde das etwa so aussehen:

i |x3 x2 x1 x0|f
0 |0 0 0 0 |1, weil du 0 durch 2 teilen kannst
1 |0 0 0 1 |0, weil du 1 nicht durch 2 teilen kannst
2 |0 0 1 0 |1, weil du 2 durch 2 teilen kannst
3 |0 0 1 1 |0, weil du 3 nicht durch 2 teilen kannst
4 |0 1 0 0 |1, weil du 4 durch 2 teilen kannst
5 |0 1 0 1 |0, weil du 5 nicht durch 2 teilen kannst
6 |0 1 1 0 |1, weil du 6 durch 2 teilen kannst
7 |0 1 1 1 |0, weil du 7 nicht durch 2 teilen kannst
8 |1 0 0 0 |1, weil du 8 durch 2 teilen kannst
[....usw bis i=15...]
Mike
 
Beiträge: 79
Registriert: 18.10.08 11:04

Beitragvon 777 » 08.12.09 17:15

ah das hängt mit Index zusammen! Danke!
Gibt es eine Methode die belegung von x3,x2,x1,x0 einfacher zu bestimmen?
777
 
Beiträge: 15
Registriert: 23.09.09 19:54

Beitragvon siggi » 08.12.09 18:45

Du musst doch einfach nur x0 betrachten um zu wissen ob es durch 2 teilbar ist oder nicht.
Benutzeravatar
siggi
 
Beiträge: 236
Registriert: 10.01.06 21:26
Studiengang: Informatik (Dipl.)
Studiert seit: WS 06/07
Anwendungsfach: BWL

Beitragvon Mike » 09.12.09 00:30

777 hat geschrieben:ah das hängt mit Index zusammen! Danke!
Gibt es eine Methode die belegung von x3,x2,x1,x0 einfacher zu bestimmen?


Jain. Es hängt mit der durch (x3,x2,x1,x0) dargestellten Zahl zusammen. Das ist dann standartmäßig der Index, da hast du schon recht.

Beispielsweise betrache die einzelnen Zeilen

3 im Dezimalsystem ist nichts anderes als 0011 im Dualsystem.
3 ist nicht durch 2 Teilbar!
0011 ist nicht durch 0010 Teilbar!
An diesen Stellen wird die Funktion 1.

Wie 777 bereits sagte, kannst du einfach an dem LSB (hier: x0) herausfinden ob eine Dualzahl durch 2 (bzw. 10 im Dualsystem) teilbar ist.
Ist x0 = 0, dann ist f(x3,x2,x1,x0)=1

Minimiert ergibt das ganze dann f(x3,x2,x1,x0)= NOT(x0)

------

Anderes Beispiel.

Die Funktion f(x2,x1,x0) = 1 genau dann, wenn (x2,x1,x0) durch 3 teilbar ist.

Anschaulich würde sich folgende Tabelle ergeben:

i 210 f

0 000 0
1 001 0
2 010 0
3 011 1
4 100 0
5 101 0
6 110 1
7 111 0

Du bekommst also eine f=1, genau dann, wenn die Dualzahl, die durch x2,x1,x0 dargestellt wird durch 3 bzw. durch 011 teilbar ist.
Du könntest den Index auch anders laufen lassen, an der Funktion würde sich nichts ändern. Beispielsweise:

i 210 f

41 000 0
42 001 0
43 010 0
44 011 1
45 100 0
46 101 0
47 110 1
48 111 0

Hier starte ich mit i=41 und zähle bis i=48. (Macht keinen Sinn, ich weiss, dient nur als Beispiel)

44 ist nicht durch 3 teilbar.
011 ist aber durch 001 teilbar.

Also ist der Funktionswert an der Stelle immernoch 1, egal wie du den Index nennst.

Ich hoffe das Prinzip ist dir jetzt ein wenig klarer.
Mike
 
Beiträge: 79
Registriert: 18.10.08 11:04

Beitragvon 777 » 09.12.09 19:21

jop, Danke euch allen :D
777
 
Beiträge: 15
Registriert: 23.09.09 19:54


Zurück zu Technische Informatik