Vorlesung Programmieren 1 (Technische Informatik) Prof. Dr. Schicker WS 2009/10 Übungsaufgaben (Blatt1) 1) Machen Sie sich mit einem Compiler (z.B. DEV-C++) vertraut. Schreiben Sie ein Programm, das einen mehrzeiligen Text ausgibt. Übersetzen und starten Sie dieses Programm. Verwenden Sie in DEV-C++ die Compileroptionen: -ansi -Wall -Wextra - Werror (Menü Werkzeuge/Compileroptionen). 2) Schreiben Sie ein Programm, das einen Buchstaben einliest und dann den ASCII-Code dieses Zeichens ausgibt. Diese Aufgabe ist in einer eigenen Funktion namens ausgebenCode zu bearbeiten. Wird beispielsweise der Buchstabe C eingelesen, so soll die Ausgabe exakt wie folgt aussehen: Der Code des Buchstaben C ist 67 3) Schreiben Sie folgende zwei Funktionen: toFahrenheit und toCelsius. Die erste Funktion wandelt Celsius-Grade in Fahrenheit um, die zweite genau umgekehrt. Testen Sie diese beiden Funktionen in einem Programm, in das Gradwerte eingelesen und konvertiert wieder ausgegeben werden. Es gilt: F = 1.8*C+32 4) Lösen Sie das quadratische Polynom ax²+bx+c mit Hilfe der Funktion loeseGleichung(a,b,c,x). Verwenden Sie dazu das Hornerschema (ax+b)x+c. Testen Sie diese Funktion in einem Hauptprogramm. 5) Berechne die Summe der Quadratzahlen 1+2²+3²+…+n². Schreiben Sie eine Funktion quadratsumme(n), die diese Zahl berechnet. Testen Sie diese Funktion mit mehreren Werten in einem Programm. 6) Berechne die Summe der ungeraden Zahlen 1+3+5+…+n mit n ungerade. Schreiben Sie dazu eine Funktion ungeradeSumme(n). Testen Sie diese Funktion für alle ungeraden Zahlen von 1 bis 25. Das Ergebnis ist verblüffend! Lässt sich dieses Ergebnis auch mathematisch fundieren? 7) Schreiben Sie folgende beiden Funktionen: fabs und kubik. Die erste Funktion berechnet den Absolutbetrag einer Gleitpunktzahl x, die zweite die dritte Potenz einer Gleitpunktzahl. Testen Sie diese beiden Funktionen in einem Programm, das eine Gleitpunktzahl anfordert und sowohl den Absolutbetrag als auch die dritte Potenz dieser Zahl ausgibt. Verwenden Sie keine Funktionen der mathematischen Bibliothek math.h. 8) Ein Händler gibt auf hochwertige CD-Rohlinge Rabatt, abhängig von der Stückzahl: Ein Rohling kostet 0,80 Euro. Ab 10 Stück gibt er 3% Rabatt, ab 50 Stück 6%, ab 100 Stück 8%. Schreiben Sie eine Funktion cdPreis(n), das den Gesamtpreis abhängig von der Stückzahl n berechnet und zurückgibt. Schreiben Sie dazu ein geeignetes Hauptprogramm. 9) Schreiben Sie folgende drei Funktionen: aufrunde(x), abrunde(x), runde(x). Die erste Funktion rundet eine Gleitpunktzahl zur nächstgrößeren Ganzzahl auf, die zweite Funktion rundet zur nächstkleineren Ganzzahl ab und die dritte Funktion rundet gemäß der sogenannten kaufmännischen Rundung (siehe auch Wikipedia unter Rundung). Das Ergebnis dieser drei Funktionen ist jeweils eine Ganzzahl, während eine Gleitpunktzahl übergeben wird. Beachten Sie auch die negativen Werte! Verwenden Sie keine Funktionen aus der mathematischen Bibliothek math.h! Schreiben Sie zum Testen ein ausführliches Hauptprogramm. 10) Die Eulersche Zahl e lässt sich wie folgt berechnen: 1 1 1 1 1 e 11 1 2 1 2 3 1 2 3 4 1 2 3 4 5 1 2 3 4 5 6 Berechnen Sie in einer Schleife die Summe der ersten 30 Summanden. Verwenden Sie zum Berechnen nacheinander Variablen vom Typ float, double und long double. Vergleichen Sie die Ergebnisse. 11) Berechnen Sie die reellen Nullstellen der Gleichung ax²+bx+c=0. Verwenden Sie dazu eine Prozedur namens berechneNullstellen(a,b,c). Diese Prozedur berechnet je nach Fall eine oder zwei Nullstellen und gibt diese aus. Schreiben Sie ein Testprogramm, das diese Prozedur aufruft. Beachten Sie, dass mindestens sechs verschiedene Fälle zu beachten sind.