ein Kapitel zurück                                           ein Kapitel weiter

Manchmal werden Berechnungen wie Kosinus, Tangen, Quadratwurzeln...... benötigt. Zum Glück gibt es dazu wieder eine Standard-Library wie die Headerdatei...

#include <math.h>  

...damit man nicht ständig das Rad neu Erfinden muss. In dieser Headerdatei sind solche Funktionen wie oben erwähnt und noch mehr enthalten. Ich will jetzt dabei nicht jede einzeln ansprechen sondern erklären wie sie falls sie eine benötigen einsetzen können. Erst mal ein Beispiel zur Berechnung der Quadratwurzel einer Zahl und ein paar andere Funktionen...

/*Download:mat.c*/
#include <stdio.h> #include <math.h> void main() { double i=25.5; printf("Quadradwurzel von %f = %f\n",i,sqrt(i)); printf("Der Sinus von %f = %f\n",i,sin(i)); printf("Der Tangen von %f = %f\n",i,tan(i)); printf("Der Cosinus von %f = %f\n",i,cos(i)); printf("Der Absolute Wert von %f = %f\n",i,fabs(i)); }

Die Funktionen in der Headerdatei 'math.h' geben alle einen Wert zurück vom Typ double und erwarten auch einen Wert vom Typ double. Sie sehen der Einsatz dieser Funktionen erweißt sich nicht als allzu schwer. Deswegen will ich auch nicht weiter darauf eingehen. Sollten sie in späteren Programmen einen dieser Funktionen benötigen habe ich hier die Liste aller Funktionen aufgelistet...

Funktion Beschreibung
double acos(double zahl) Arcus Kosinus
double asin(double zahl) Arcus Sinus
double atan(double zahl) Arcus Tangen
double atan2(double zahl1,double zahl2) Arcus Tangen von double1/double2
double cos(double zahl) Cosinus
double sin(double zahl) Sinus
double tan(double zahl) Tangen
double cosh(double zahl) Cosinus hyperbolicus
double sinh(double zahl) Sinus hypberbolicus
double tanh(double zahl) Tangen hypberbolicus
double exp(double zahl) Die "Eulersche Zahl"
double log(double zahl) Logarithmus von double zur Basis e=2.71828.....
double log10(double zahl) Logarithmus zur Basis 10
double sqrt(double zahl) Quadratwurzel
double ceil(double zahl) bestimmt die kleinste ganze Zahl die grösser oder gleich dem Wert ist. z.B. die Zahl 2.3 gibt zurück 3.0
double fabs(double zahl) Absolutzahl
double floor(double zahl) Gegenteil von ceil()
double frexp(double zahl,int zahl2) Zerlegt double in eine Mantisse und einen ganzzahligen Exponenten
double modf(double1 zahl1, double2 *zahl2) Zerlegt den Wert von double1 in einem gebrochenen und einem ganzzahligen Wert. Der ganzzahlige Wert steht dann in der Adresse von *double2.
double pow(double zahl1,double zahl2) Potenz double1 hoch double2
int fmod(double zahl1,double zahl2) "float modulo" errechnet den Rest double1/double2


Lesen läßt sich das so: z.B.: double cos(double zahl) -> die Funktion gibt einen Wert von double zurück(1.double) und erwartet als Wert einen double - Wert(zahl in den Klammern) -> Im Programm schreiben sie natürlich nur 'cos(0.5)'. Wir haben das ja bereits in einem kleinem Programm oben demonstriert.

Des weiteren ist in der Headerdatei <math.h> eine Konstante (nicht veränderbarerer fester Wert der zur Laufzeit eines Programms nicht veränderbar ist) definiert, falls der Wert den eine der Funktionen zurückliefert nicht mehr darstellbar ist. Die Konstante lautet.....

HUGE_VAL  

Dies aber auch nur zur Ergänzung des Kapitels. Wir kommen noch darauf zurück.

ein Kapitel zurück          nach oben           ein Kapitel weiter


© 2001,2002 Jürgen Wolf