In diesem
Praktikum werden erste Erfahrungen mit der Berechnung von
Ausdrücken gesammelt.
Unter Nutzung der Gleitpunktarithmetik soll der
Kreisflächeninhalt zu einem einzugebenden Durchmesser
berechnet werden. Die Eingabe des Durchmessers erfolge in der Art und
Weise, die im Praktikum 3 (Datentypen/Variable) vermittelt wurde. Um
eine Zeichenkette in einen Gleitpunktwert vom Typ float oder Double zu
konvertieren, steht die Funktion double atof(const char*);
zur Verfügung. Für genauere Informationen zu dieser Funktion
geben Sie in der Konsole man atof
ein.
Schreiben Sie ein C-Programm, das mit folgendem Dialog den Kreisflaecheninhalt berechnet.
Ausgabe:
Berechnung der Kreisflaeche
Eingabe des Durchmessers in mm:10
Flaecheninhalt in cm²: 0.7850
Dieser Teil
des Praktikums sollte keine größeren Schwierigkeiten
bereiten.
In vielen
Anwendungen ist es jedoch nötig, auf Gleitkommaarithmetik zu
verzichten. Dies kann der Fall sein, wenn in einem Prozessor keine
solche Gleitpunktarithmetik existiert, wenn Ganzzahlarithmetik
schnellere Ergebnisse erzielt oder wenn aus Gründen der Genauigkeit
ganzzahlig gerechnet werden muß.
Für unser
Beispiel ist dabei zu beachten:
An Stelle von PI wird mit 314 gerechnet. Natürlich müssen wir
dann am Ende wieder durch 100 teilen.
Gleichrangige Multiplikationen und Divisionen müssen so notiert
werden, dass zunächst multipliziert und am Ende dividiert wird.
Dabei ist zu beachten, dass der größtmöglich
darstellbare Zahlenwert nicht überschritten wird.
Vor- und Nachkommastellen werden getrennt berechnet und nacheinander
durch einen Dezimaltrenner ('.') getrennt ausgegeben.
Um ganze Zahlen in fester Länge mit führenden Nullen
auszugeben, verwendet man in printf das Formatsteuerzeichen %0nd, wobei
n die Anzahl der auszugebenden Stellen ist z.B. printf("%04d",i);. Geauere
Informationen findet man unter man
format
Das Ergenbis
sollte sich optisch von dem im ersten Teil des Praktikums nicht
unterscheiden.