Variablen, Zahlen, Ausdrücke

Werbung
INE1 – Informatik für Ingenieure 1
Praktikum 3
Variablen, Zahlen, Ausdrücke
Aufgabe 1: Ausdrücke mit Zahlen
Welchen Wert ergeben die folgenden Ausdrücke in einem C-Programm? Überlegen Sie dich
zuerst, was das Ergebnis jeweils ist. Prüfen Sie anschliessend, ob Ihre Annahmen stimmen,
indem Sie die Ausdrücke mit einem C-Programm berechnen und die Ergebnisse ausgeben.
Verwenden Sie das Programm num.c.
-1 * 5
=
10 - 3 – 2
=
10 - (3 - 2)
=
61 / 10 + 16 % 10
=
0xFFFFFFFC
=
020 + 20
=
Aufgabe 2: Binär- und Hexadezimalformat
Geben Sie folgende Binärzahlen im Dezimal- und Hexadezimalformat an:
Dezimal
hexadezimal
1010
10001000
1011100111
Wie können Sie mit dem Programm num.c überprüfen, ob Sie die richtigen Dezimalzahlen
bestimmt haben? Im Programm gibt es die Funktion printhex(): geben Sie die im ersten
Schritt bestimmten Dezimalzahlen mit Hilfe dieser Funktion aus.
Aufgabe 3: Zeitumrechnung
Schreiben Sie ein Programm, das in der Variablen dauerInSekunden z.B. den Wert 644000
ablegt und dann berechnet, wie viele Tage, Stunden, Minuten und Sekunden das sind, geben
Sie die einzelnen Werte aus. Überlegen Sie sich zuerst, wie die Anzahl Tage berechnet werden kann, dann wie die restlichen Sekunden bestimmt werden können, etc.
Die Ausgabe des Programms für den Wert 700000 sollte folgendermassen aussehen:
700000 Sekunden sind:
8 Tage
2 Stunden
26 Minuten
40 Sekunden
Version 29.09.2017
Seite 1
4. Zusatzaufgaben (empfohlen)
4.1 Zur Vertiefung: Fakultätstabelle
"Die Fakultät [...] ist in der Mathematik eine Funktion, die einer natürlichen Zahl das Produkt
aller natürlichen Zahlen (ohne Null) kleiner und gleich dieser Zahl zuordnet." (Wikipedia):
es gilt also: n! = 1  2  3 ...  n
Schreiben Sie ein Programm, das die Fakultät der Zahlen von 5 bis 10 bestimmt. Die Ausgabe soll wie folgte aussehen:
5! = 120
6! = 720
...
Da Schleifen noch nicht behandelt wurden, bestimmen wir die Werte der Reihe nach und
geben sie gleich aus. Bestimmen Sie dazu die Fakultät einer Zahl jeweils aus dem vorherigen
Ergebnis, das Sie in einer int-Variablen zwischenspeichern: um die Fakultät von n zu berechnen, multiplizieren Sie die zuvor berechnete Fakultät von n-1 mit n.
Ändern Sie nun die int-Variable in eine short-Variable. Erhalten Sie immer noch die gleichen
Ergebnisse? Erklären Sie das Resultat.
4.2 Für Fortgeschrittene: Binärausgabe
Ergänzen Sie num.c um die Funktion printbin(), die eine Zahl zwischen 0 und 255 im
Binärformat ausgibt. Da wir Funktionen noch nicht behandelt haben, können Sie sich an
printnum() und printhex() orientieren. Wenn Sie sich bereits mit Schleifen auskennen,
können Sie die Funktion auch für grössere Werte auslegen. Ist der Algorithmus aus der Vorlesung geeignet?
Version 29.09.2017
Seite 2
Herunterladen