Arbeitsblatt 5 vom 15.12.2016 Wiederholung für die Ferien

Werbung
Übung zur Vorlesung
Informatik 1
Sarah Theobald, M.Sc.
Arbeitsblatt 5 vom 15.12.2016
Wiederholung für die Ferien
Hinweise
• Überprüfen Sie erst Ihre RAM - Programme mit RAMSES nachdem Sie eine Lösung auf Papier gefunden haben
• Versuchen Sie die Boole’schen Aufgaben ohne das Regelblatt zu lösen
• Versuchen Sie keinen Taschenrechner bei den Berechnungen im dritten Teil zu
verwenden
Nehmen Sie sich die Hinweise zu Herzen, da Sie in der Klausur auch keine Hilfsmittel
verwenden dürfen!
Thema: Random Access Machine
(1) NOT
Schreiben Sie ein möglichst kurzes RAM - Programm, das für das Eingabebit a (in s[0])
das Ergebnis von
N OT : ā
in Speicherstelle s[1] schreibt.
(2) Teilbarkeit durch 20
Schreiben Sie ein RAM - Programm, das bei einer vorgebenen Zahl die Teilbarkeit durch
20 prüft. Eine Zahl ist durch 20 teilbar, wenn die letzte Stelle eine 0 und die vorletzte
Stelle gerade ist.
1
(3) Perrin - Folge
Schreiben Sie ein RAM - Programm zur Berechnung der Perrin - Folge von n natürlichen
Gliedern. Die Glieder der Perrin - Folge werden wie folgt definiert:
Pn = Pn−2 + Pn−3
wobei P0 = 3,
P1 = 0,
P2 = 2
Die Anzahl der zu berechnenden Glieder steht in s[0], die einzelnen Glieder in s[1],
s[2], s[3] . . . s[n].
Lesen Sie hierzu auch https://de.wikipedia.org/wiki/Perrin-Folge
(4) Mod - Operation per Subtraktion
Schreiben Sie ein RAM - Prgramm, das auf zwei vorgebene natürliche Zahlen (z in s[0],
n in s[1]) die Mod - Operation per Subtraktion anwendet. Das Ergebnis soll in s[0]
gespeichert werden. Die Formel zur Berechnung der MOD - Operation lautet
z mod n := z
 
 
z 
−n· 
n
(5) Betrag einer Zahl
Schreiben Sie ein RAM - Programm, das für die Eingabe a (in s[0]) den Wert ihres
Betrags |a| in die Speicherstelle s[1] schreibt.
(6) Collatz - Folge
Geben sei die Zahlenfolge
a0 = a,
an+1 =





an/2,
falls a gerade
3 · an + 1, falls a ungerade
Wenn die Folge beispielsweise mit a0 = 15 beginnt, so nimmt sie nacheinander folgende
Werte ai an:
15 46 23 70 35 106 53 160 80 40 20 10 5 16 8 4 2 1
Schreiben Sie ein RAM - Programm, das die Eingabe a0 aus der Speicherstelle s[0] liest
und die Folgeglieder nacheinander im Akkumulator berechnet und jeden Wert ai in der
Speicherstelle s[i] speichert. Das Programm soll abbrechen, wenn im Akkumulator der
2
Wert 1 erreicht ist. Weitere Beispiele:
17 52 26 13 40 20 10 5 16 8 4 2 1
19 58 29 88 44 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1
21 64 32 16 8 4 2 1
Thema: Boole’sche Algebra
(1)
(a + c) · (b + c) + ābc̄ = c + b
(2)
(x̄ + z̄) · x̄ + xz · (ȳ + x + z) · z + y = ȳz̄
(3)
(a + b̄) · (a + c̄) · ac̄ + a = a
(4)
(a + b) · (ā + b) · (a + b̄) · (ā + b̄) = 0
(5)
(ab + c̄) · (ā + b + c̄) = ā + c̄
(6)
ab + c + ac = a · (b + c)
Thema: Zahlendarstellung, arithmetische Operationen
(1) Addieren Sie die Zahlen:
1. (E78CA)16 und (1F F 73)16
2. (101101101)2 und (1101010)2
3. (43213)5 und (40423)5
(2) Rechnen Sie folgende Zahlen in das jeweils angebene Zahlensystem um:
1. (187)10 =⇒ (
)9
2. (6346)7 =⇒ (
)10 =⇒ (
3. (B0AB5)16 =⇒ (
)2 =⇒ (
)2
)8
3
(3) Wandeln Sie die folgenden Zahlen ins Binärsystem um (max. 4 Stellen nach dem
Komma):
1.
7
20
2. 75,4394
3.
29
8
4. 1237,121
(4) Subtrahieren Sie die Zahlen einmal auf normale Weise und einmal mit Hilfe des
Zweier - Komplements (beides im Binärsystem):
1. 123 - 32
2. 999 - 501
3. 473 - 43
(5) Subtrahieren Sie die Zahlen:
1. (6463)7 − (148)7
2. (CAF BE)16 − (AF F E)16
3. (7351)9 − (380)9
(6) Multiplizieren Sie die Zahlen:
1. (101010)2 und (111)2
2. (4231)5 und (31)5
3. (6342)8 und (564)8
(7) Dividieren Sie die Zahlen:
1. (101010)2 und (1010)2 (mit Rest)
2. (21032)5 und (31)5
3. (6342)8 und (564)8 (mit Rest)
4
Herunterladen