(Technische Informatik) WS 2009/10 Prof. Dr. Schicker

Werbung
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  11





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.
Herunterladen