Participer au site avec un Tip
Rechercher
 

Améliorations / Corrections

Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.

Emplacement :

Description des améliorations :

Fonctions acos, acosf et acosl

Entête à inclure

#include <math.h>  // <cmath> en C++

Fonctions acos, acosf et acosl

double acos( double cosinus );
float acosf( float cosinus );                      // C99
long double acosl( long double cosinus );          // C99

Ces trois fonctions permettent de calculer l'arc cosinus. En mathématiques, l'arc cosinus est la fonction inverse de la fonction cosinus. L'arc cosinus d'un nombre flottant compris entre -1 et 1 est donc l'angle pour lequel la fonction cosinus calcule la valeur passée en paramètre. L'angle retourné sera compris entre 0 et π.

La différence entre ces trois fonctions réside dans le type de données utilisé pour le paramètre et la valeur de retour (double, float ou long double). Les fonctions acosf et acosl ont été ajoutées dans C99.

la figure suivante montre les liens entre la projection d'un angle sur le cercle trigonométrique et les fonctions sinus, cosinus et tangente.
Quelques rappels de trigonométrie

Paramètres

Valeur de retour

Si la valeur passée en paramètre se trouve dans de l'intervalle [-1, 1], ces fonctions renvoient la valeur d'un angle compris entre 0 et π (donc exprimé en radians).

Si la valeur passée en paramètre se trouve en dehors de l'intervalle [-1, 1], ces fonctions renvoient une valeur NaN (Not A Number) et la variable globale errno contiendra le code d'erreur EDOM (Erreur de DOMaine).

Exemple de code

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
 11 
 12 
 13 
 14 
 15 
 16 
 17 
 18 
#include <math.h>
#include <stdio.h>
#include <stdlib.h>


int main() {

    double value;

    printf( "Saisir une valeur comprise entre -1 et 1 : " );
    scanf( "%lf", &value );

    printf( "L'angle de ce sinus vaut : %lf radians\n", asin( value ) );
    printf( "L'angle de ce cosinus vaut : %lf radians\n", acos( value ) );    
    
    return EXIT_SUCCESS;

}
Exemple d'utilisation des fonctions acos et asin

Il est à noter que la librairie mathématique doit être ajoutée durant l'étape de "link" (édition des liens) de votre exécutable. Cela se réalise en ajoutant l'option -lm à votre compilateur gcc. En cas d'utilisation d'un autre compilateur, je vous renvoie vers la documentation de ce dernier.

$>  gcc -o sample sample.c -lm
$>  ./sample
Saisir une valeur comprise entre -1 et 1 : 0.5
L'angle de ce sinus vaut : 0.523599 radians
L'angle de ce cosinus vaut : 1.047198 radians
$> 

Sujets connexes

Les fonctions asin, asinf et asinl
Les fonctions atan, atanf et atanl
Les fonctions atan2, atan2f et atan2l
Les fonctions cos, cosf et cosl
Les fonctions sin, sinf et sinl
Les fonctions tan, tanf et tanl
La méthode Math.acos en Java
La fonction acos en Python