Programmation C source/mathématiques
Apparence
#include <stdio.h>
#include <math.h>
#include <errno.h>
int main(void)
{
/*
#include <math.h>
#include <errno.h>
avec gcc il faut ajouter -lm à la compilation !
*/
printf("----------------------------------------\n");
printf(" 1. Exponentielle et puissance\n");
printf("----------------------------------------\n");
#if 0
double exp ( double x );
double pow ( double x, double y );
#endif
printf("exp(10) = %f\n", exp(10));
printf("10³ = %f\n", pow(10, 3));
/*
ERREURS
La fonction pow() peut renvoyer les erreurs suivantes :
EDOM L’argument x est négatif, et y n’est pas entier.
Le résultat serait un nombre complexe.
*/
printf("\n----------------------------------------\n");
printf(" 2. Logarithmes\n");
printf("----------------------------------------\n");
#if 0
double log ( double x ); // logarithme népérien de x
double log10 ( double x ); // logarithme à base 10 de x
#endif
/*
ERREURS
EDOM L’argument x est négatif.
ERANGE L’argument x est nul. Le logarithme de zéro est indéfini.
*/
printf("\n----------------------------------------\n");
printf(" 3. Racine carrée\n");
printf("----------------------------------------\n");
#if 0
double sqrt ( double x );
#endif
/*
ERREURS
EDOM x est négatif.
*/
printf("\n----------------------------------------\n");
printf(" 4. Sinus, cosinus, tangente\n");
printf("----------------------------------------\n");
#if 0
double sin ( double x );
double cos ( double x );
double tan ( double x );
#endif
/*
x étant fourni en radians.
*/
printf("\n----------------------------------------\n");
printf(" 5. Arc sinus, arc cosinus\n");
printf("----------------------------------------\n");
#if 0
double asin ( double x );
double acos ( double x );
#endif
/*
ERREURS
EDOM x est hors du domaine de définition.
(x est inférieur à -1 ou supérieur à 1.)
*/
printf("\n----------------------------------------\n");
printf(" 6. Arc tangente\n");
printf("----------------------------------------\n");
#if 0
double atan ( double x );
double atan2 ( double y, double x );
#endif
return 0;
}