« Programmation C/Mathématiques » : différence entre les versions

Un livre de Wikilivres.
Contenu supprimé Contenu ajouté
Tados (discussion | contributions)
mAucun résumé des modifications
Ligne 43 : Ligne 43 :


<source lang="c">
<source lang="c">
double sqrt ( double x );
double sqrt ( double x² );
</source>
</source>


Renvoie la racine carrée de ''x''.
Renvoie la racine carrée de ''x²''.


=== Erreurs ===
=== Erreurs ===
* '''EDOM''' : ''x'' est négatif.
* '''EDOM''' : ''x²'' est négatif.


== Sinus, cosinus, tangente ==
== Sinus, cosinus, tangente ==

Version du 6 septembre 2012 à 11:43


Pour pouvoir utiliser les fonctions mathématiques, il faut utiliser l'en-tête <math.h>, ainsi que <errno.h> pour gérer les erreurs :

#include <math.h>
#include <errno.h>

Comme pour un certain nombre de fonctions de la biliothèques standard, il est en effet nécessaire d'utiliser <errno.h> pour détecter l'erreur d'une fonction mathématique (voir le chapitre sur la gestion d'erreurs pour voir comment utiliser <errno.h>).

Note : Sur certains compilateurs comme GCC, il est nécessaire d'ajouter durant l'édition des liens une option pour que la « librairie mathématique » soit liée au programme. Pour GCC, cette option est -lm. Sans cette option, le programme pourra compiler, mais le résultat à l'exécution sera surprenant...

Exponentiations

double exp ( double x );
double pow ( double x, double y );

exp calcule e élevé à la puissance de x () où e est la base des logarithmes naturels (ln(e) = 1). pow calcule la valeur de x élévé à la puissance y ().

Erreurs

La fonction pow peut déclencher l'erreur suivante :

  • EDOM : x est négatif, et y n’est pas un entier.

Logarithmes

double log ( double x );
double log10 ( double x );

log calcule le logarithme néperien de x (noté généralement ln(x) en mathématiques). log10 calcule le logarithme à base 10 de x.

Erreurs

  • EDOM : x est négatif ;
  • ERANGE : x est nul.

Racine carrée

double sqrt ( double  );

Renvoie la racine carrée de .

Erreurs

  • EDOM : est négatif.

Sinus, cosinus, tangente

double sin ( double x );
double cos ( double x );
double tan ( double x );

Note : les angles retournés sont en radians (intervalle -pi/2 à pi/2).

Arc sinus, arc cosinus

double asin ( double x );
double acos ( double x );

Erreurs

  • EDOM : x est inférieur à -1 ou supérieur à 1.

Arc tangente

double atan ( double x );
double atan2 ( double y, double x );