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