|
![ein Kapitel weiter](../weiter.gif)
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 weiter](../weiter.gif)
© 2001,2002 Jürgen Wolf
|