C-Uebung

Aufgabe "if+switch"

Operatoren | | While + For

a) Fallzeit: Erstellen Sie ein C-Programm, das die Zeit berechnet, die ein Körper wie für den Fall aus einer bestimmten Höhe benötigt. Die Höhe ist dabei mit scanf() einzulesen.

Überprüfen Sie den eingelesenen Wert und geben Sie eine Fehlermeldung aus, wenn er negativ war.

Definieren Sie mit einer PräprozessorDirektive die Gravitations-Konstante g als $9.80665 \frac{m}{s^2}$.

Die Zeit für den Fall eines Körpers berechnet sich nach folgender Formel:

$ t = \sqrt{\frac{2h}{g}} $

Das zur Wurzelberechnung benötigte Programmteil hat den Namen sqrt(). Damit Sie sqrt() verwenden können, sollten Sie als erstes die folgende Zeile angeben:

#include <math.h>

Testen Sie Ihr Programm für eine Fallhöhe von 10 Kilometern. Die Fallzeit beträgt in diesem Fall ca. 45 Sekunden (im luftleeren Raum).

b) Kugelvolumen, Oberfläche und Umfang: Erstellen Sie ein C-Programm, das mit scanf() den Radius r einer Kugel einliest.

Danach soll ein Menü ausgegeben werden, das zwei Punkte anbietet:

  1. Berechnung der Kugeloberfläche $4 \Pi r^2$
  2. Berechnung des Kugelvolumens $\frac43 \Pi r^3$
  3. Berechnung des Umfangs eines Großkreises $2\ Pi r$

Lesen Sie den gewünschten Menüpunkt ein (wieder mit scanf()) und geben Sie das entsprechende Ergebnis aus. Wenn kein korrekter Menüpunkt eingegeben wurde, soll eine Fehlermeldung ausgegeben werden.

Definieren Sie sich eine globale Konstante PI für die Kreiszahl $\Pi$.

c) Die Lösung der quadratischen Gleichung $ax^2 +bx+c = 0 $ soll unter Berücksichtigung aller Fälle für die Koeffizienten a, b, c ermittelt werden. Die Lösungsformeln lauten:

$x_1 = \frac{−b+\sqrt{d}}{2a}
$x_2 = \frac{−b-\sqrt{d}}{2a}

wobei $d = b^2 − 4ac$ die Diskriminante ist. Es wird zwischen 3 Fällen unterschieden:

  1. d>0: 2 Lösungen
  2. d=0: 1 Lösung
  3. d<0: keine Lösung

Die Formel ist aber im Fall a=0 nicht anwendbar, es handelt sich dann um die lineare Gleichung $bx + c = 0$, deren Lösbarkeit wieder davon abhängt, ob $b=0$ ist. In diesem Fall gibt es unendlich viele Lösungen oder keine Lösung, je nachdem, ob $c=0$ ist oder nicht. Insgesamt sind 6 Fälle zu unterscheiden.

Erstellen Sie ein C-Programm, das die Koeffizienten a, b und c einliest und dann die Lösung ausgibt.

Operatoren | | While + For

Options: