Dirk Praetorius, Wintersemester 2017/18
Michele Ruggeri 19./20.10.2017
Ubungen zur Vorlesung¨
Einf¨uhrung in das Programmieren f¨ur TM Serie 2
Aufgabe 2.1. Schreiben Sie ein Programm, das den Radius r eines Kreises von der Tastatur einliest und die dazugeh¨orige Fl¨ache, sowie den Umfang berechnet und am Bildschirm ausgibt. Speichern Sie den Source-Code unterkreis.cin das Verzeichnisserie02.
Aufgabe 2.2. Ein Pythagor¨aisches Tripel wird von drei nat¨urlichen Zahlen gebildet, die als L¨angen der Seiten eines rechtwinkeligen Dreiecks vorkommen. Schreiben Sie ein Programm, das drei nat¨urliche Zahlen a, b, c∈Nvon der Tastatur einliest und am Bildschirm ausgibt, ob es sich dabei um ein derartiges Tripel handelt oder nicht. Speichern Sie den Source-Code unterpythagoras.cin das Verzeichnisserie02.
Aufgabe 2.3. Schreiben Sie ein Programm, das drei Zahlen x, y, z ∈Rvon der Tastatur einliest und diese Zahlen fallend sortiert ausgibt, d.h. zuerst das Maximum max{x, y, z} und zuletzt das Minimum min{x, y, z}. Speichern Sie den Source-Code untersort3.cin das Verzeichnisserie02.
Aufgabe 2.4. Schreiben Sie ein Programm, das die Einnahmen E ∈ R+0 := {x ∈ R : x≥ 0}, sowie die AusgabenA ∈R+0 eines Unternehmens von der Tastatur einliest und am Bildschirm entweder den erzielten Gewinn bzw. Verlust ausgibt, oder dass die Einnahmen gleich den Ausgaben sind. Speichern Sie den Source-Code unterbilanz.cin das Verzeichnisserie02.
Aufgabe 2.5. Schreiben Sie ein Programm, das eine Zahl z ∈ N von der Tastatur einliest und das zugeh¨orige Datum geeignet ausgibt. Dabei errechnet sich das gesuchte Datum aus den Ziffern von z unter Ber¨ucksichtigung der FormatierungTTMMJJJJ, z.B. entsprichtz= 19102017 dem 19. Oktober 2017.
Bei unm¨oglichen Daten (z.B.z= 12132016 oder z= 30022017) soll das Programm eine Fehlermeldung ausgeben. Schaltjahre m¨ussen nicht ber¨ucksichtigt werden. Speichern Sie den Source-Code unterdatum.c in das Verzeichnisserie02.
Aufgabe 2.6. Schreiben Sie ein Programm, das f¨ur eine gegebene Anzahl von n ∈ N Ubungen zu¨ je 8 Beispielen die Anzahl der von Ihnen insgesamt gekreuzten Aufgaben von der Tastatur einliest.
Anschließend soll am Bildschirm sowohl der von Ihnen erreichte Prozentsatz an gekreuzten Aufgaben ausgegeben werden, als auch ob sie damit eine positive Endnote in EPROG erreichen k¨onnen oder nicht (vgl. http://asc.tuwien.ac.at/eprog). Speichern Sie den Source-Code unteruebungsnote.cin das Verzeichnisserie02.
Aufgabe 2.7. Angenommen, Sie kreuzen in EPROG im Schnitt 4 Beispiele pro ¨Ubung, dann entspricht dies 22.5 Punkten f¨ur die Berechnung der Endnote (ohne Ber¨ucksichtigung der Tafelleistungen). Kreuzen Sie im Schnitt 7 Beispiele, entspricht dies 37.5 Punkten. Allgemein berechnet sich f¨ur eine durchschnitt- liche Anzahl an Kreuzenx∈[4,8] die Punktezahl y∈[22.5,40] durch folgende Formel,
y= min{40,(5 +x∗10)/2}.
Schreiben Sie ein Programm, das den Kreuzerlschnitt x∈[4,8] von der Tastatur einliest und die dazu- geh¨orige Anzahl an Punktenyam Bildschirm ausgibt. Speichern Sie den Source-Code unteruebungspunkte.c in das Verzeichnisserie02.
Aufgabe 2.8. Was versteht man unter Type-Casting? Welche zwei Typen von Type-Casting gibt es?
Was gibt folgender Code am Bildschirm aus? Erkl¨aren Sie auch warum!
#include <stdio.h>
main() { int x = 2;
int y = 5.4;
double z = 3.6;
double erg1 = x / y + z;
double erg2 = (double) x / y;
double erg3 = 3 / 5;
int erg4 = (int) z / 2.;
printf("erg1 = %f\n",erg1);
printf("erg2 = %f\n",erg2);
printf("erg3 = %f\n",erg3);
printf("erg4 = %d\n",erg4);
}