Blatt02 ws1920 Angabe
Blatt02 ws1920 Angabe
Übungsblatt 2
Abgabe: Donnerstag 07.11.2019, 12:00 Uhr (Postkasten der Veranstaltung und E-Mail an
Tutor)
• Dieses Übungsblatt muss im Team abgegeben werden (Einzelabgaben sind nicht erlaubt!).
• Bitte zur Angabe von Namen, Übungsgruppe und Teamnummer das Deckblatt verwenden!
• Die Zeitangaben geben zur Orientierung an, wie viel Zeit für eine Aufgabe später in der
Klausur vorgesehen wäre; gehen Sie davon aus, dass Sie zum jetzigen Zeitpunkt wesentlich
länger brauchen und die angegebene Zeit erst nach ausreichender Übung erreichen.
2. Abgabe schriftlich: Alle Aufgaben + Quellcode; Deckblatt verwenden; Links oben tackern
(z.B. im Raum der Fachschaft, 1007 N)
3. Abgabe per E-Mail an den Tutor: Nur Quellcode (andere Aufgaben optional); Quellcode
als *.c / *.h - Dateien!
Allgemeine Hinweise zu den Programmieraufgaben:
• Achten Sie, wie auf Übungsblatt 0 erwähnt, bei allen zukünftigen Programmieraufgaben
auf Kompilierbarkeit und Einhaltung der Coding Conventions; auch dann, wenn es nicht
explizit im Aufgabentext gefordert ist.
• Gehen Sie davon aus, dass alle Programme in der Programmiersprache C zu erstellen sind.
• Kompilieren Sie alle Ihre Programme mit den folgenden Compiler-Schaltern: -Wall -Wextra
-ansi -pedantic. Achten Sie darauf, dass trotz Verwendung dieser Schalter keine Fehler-
/Warnmeldungen erzeugt werden.
Zusatzaufgaben:
(11010010)2
(27)8
(0.4)16
(0.1)3
(0.2)5
Geben Sie zu jedem Eintrag die zugehörige Rechnung an (wie in den Beispielen 3.10, 3.11, 3.15,
3.17, 3.24 und 3.25).
2
Aufgabe 6 (Rechnen in Zahlensystemen)
a) (*, Addieren, 10 Minuten) Führen Sie folgenden Additionen jeweils im Zahlensystem der
angegebenen Zahlen durch. Geben Sie dabei die zugehörigen Rechnung an (wie in Beispiel 3.12
und Folie 177).
1. (11100)2 + (101101)2
2. (54.5)8 + (4.75)8
3. (A0.B1)16 + (55.EE)16
3. (71.15)8 − (65.21)8
1. (702)8 · 83
2. (0.A007)16 · 162
3. (1101)2 /22
4. (15.03)8 /84
3
Aufgabe 7 (Normierte Gleitkommazahlen)
a) (*, Normierung, 4 Minuten) Geben Sie die folgenden Zahlen in normierter Gleitpunktdarstel-
lung an.
1. (A0100.0D1)16
2. (0.000117)8
3. (1001.001)2
4. (0.100001)2
b) (*, Addition, 6 Minuten) Führen Sie folgenden Additionen jeweils im Zahlensystem der ange-
gebenen Zahlen durch. Geben Sie dabei die zugehörigen Rechnung an (wie in Beipiel 3.31).
1. ((3.4)8 · 81 ) + ((7.7)8 · 82 )
2. ((1.1)2 · 2−1 ) + ((1.11)2 · 21 )
c) (*, Subtraktion, 6 Minuten) Führen Sie folgenden Subtraktionen jeweils im Zahlensystem der
angegebenen Zahlen durch. Geben Sie dabei die zugehörigen Rechnung an (wie in Beipiel 3.32).
2. ((1.01)2 · 21 ) − ((1.1)2 · 20 )
d) (*, Multiplikation / Division, 8 Minuten) Führen Sie folgenden Rechnungen jeweils im Zah-
lensystem der angegebenen Zahlen durch. Geben Sie dabei die zugehörigen Rechnung an (wie in
Beipiel 3.33).
4
Aufgabe 8 (Programmieraufgaben zur Wiederholung des Vorkurses)
Erstellen Sie für jede Teilaufgabe jeweils eine C-Datei mit einer eigenen main-Funktion. Kom-
pilieren Sie Ihre Programme mit den Compilerschaltern -ansi -pedantic -Wall -Wextra und
führen Sie sie aus (jeweils über ein Kommandozeilen-Programm).
a) (**, 8 Minuten)
Schreiben Sie ein C-Programm, das eine ganze Zufallszahl zwischen 0 und 1000 (jeweils ein-
schließlich) berechnet und dann zeilenweise in aufsteigender Reihenfolge alle Teiler dieser Zahl
ausgibt.
b) (*, 4 Minuten)
Schreiben Sie ein C-Programm, das in einer übersichtlichen Tabelle die Dezimal-, Oktal- und He-
xadezimaldarstellungen der ganzen Zahlen zwischen 0 und 1000 (jeweils einschließlich) ausgibt.
5
Zusatzaufgabe C (Wiederholung von Schulstoff: Logarithmus und Exponential-
funktion)
Lösen Sie diese Aufgaben ausnahmslos ohne Hilfsmittel wie Taschenrechner oder ähnliches (ste-
hen Ihnen auch in der Klausur nicht zur Verfügung). Mit genug Übung sollten Sie für jede dieser
Aufgaben jeweils nicht mehr als ca. 10 Sekunden brauchen.
a) Schreiben Sie die Zahl 1 in der Form 2n für eine passende ganze Zahl n ∈ Z.
b) Schreiben Sie die Zahl 2 in der Form 2n für eine passende ganze Zahl n ∈ Z.
c) Schreiben Sie die Zahl 512 in der Form 2n für eine passende ganze Zahl n ∈ Z.
d) Schreiben Sie die Zahl 0.5 in der Form 2n für eine passende ganze Zahl n ∈ Z.
e) Schreiben Sie die Zahl 0.25 in der Form 2n für eine passende ganze Zahl n ∈ Z.
f) Schreiben Sie die Zahl 0 in der Form log2 (n) für eine passende ganze Zahl n ∈ N.
g) Schreiben Sie die Zahl 4 in der Form log2 (n) für eine passende ganze Zahl n ∈ N.
h) Schreiben Sie die Zahl 10 in der Form log2 (n) für eine passende ganze Zahl n ∈ N.
i) Schreiben Sie die Zahl −3 in der Form log2 (n) für eine passende ganze Zahl n ∈ R.
j) Berechnen Sie 22 · 23 .
k) Berechnen Sie 2−2 · 23 .
2
l) Berechnen Sie 223 .
m) Berechnen Sie log2 (8).
n) Berechnen Sie log2 (4) + log2 (16).
o) Berechnen Sie log2 (4) + log2 (0.0625).
p) Berechnen Sie log2 (8) − log2 (0.125).
q) Berechnen Sie log2 (87 ).
r) Berechnen Sie 2log2 (32) .
s) Berechnen Sie log2 (21024 ).
6
Zusatzaufgabe D (Wiederholung von Schulstoff: Mengen)
a) Geben Sie mathematisch formal die Menge aller ganzen Zahlen zwischen einschließlich −50
und einschließlich 100 an.
b) Geben Sie mathematisch formal die Menge aller reellen Zahlen zwischen ausschließlich −1
und ausschließlich 1 an.
c) Geben Sie mathematisch formal die Menge aller geraden ganzen Zahlen an.
d) Geben Sie mathematisch formal die Menge aller ganzen, nicht durch 10 teilbaren Zahlen an.
e) Geben Sie mathematisch formal die Menge aller reellen Zahlen mit höchstens 3 Nachkommas-
tellen an.
f) Gilt 0 ∈ N?
g) Gilt 0 ∈ Z?
h) Gilt 0 ∈ Q?
i) Gilt ∅ ⊆ N?
j) Gilt ∅ ⊂ N?
k) Gilt N ⊆ N?
l) Gilt N ⊂ N?
m) Geben Sie alle Elemente von P ({0, 1}) an.
n) Geben Sie mathematisch formal die Menge aller Teiler von 1000000 an.
o) Berechnen Sie {1, 2, 3, 4, 5} ∩ {2, 4, 6, 8, 10}.
p) Berechnen Sie {1, 2, 3, 4, 5} ∪ {2, 4, 6, 8, 10}.
q) Berechnen Sie {1, 2, 3, 4, 5} \ {2, 4, 6, 8, 10}.
r) Geben Sie |{0, 1, 2}| an.
s) Geben Sie |P ({0, 1, 2, 3})| an.