ABS |
Valeur absolue |
---|---|
Langage C++ | cstdlib (stdlib.h) |
Syntaxe
int abs(int n); |
Paramètres
Nom | Description |
---|---|
n | Ce paramètre permet d'indiquer l'expression contenant le nombre à traiter |
Retour
Valeur | Description |
---|---|
0 ou supérieur | Ces valeurs sont les seules pouvant être retourné. La valeur absolue d'un nombre est toujours positive. |
Description
Cette fonction retourne la valeur absolue d'un nombre. Ainsi, le signe (négatif), s'il existe, est retiré de façon à conserver uniquement les chiffres du nombre sans toutefois changer sa valeur. Voici un graphique de représentation de la distribution de cette valeur :
Algorithme
MODULE ABS(valeur) SI valeur < 0 ALORS RETOURNE - valeur SINON RETOURNE valeur FIN SI |
Remarques
- La fonction abs() renvoie la valeur absolue du paramètre n. La version avec un type de données long de abs() est identique à labs(). La version avec un type de données double de la fonction abs() est la même que la fonction fabs().
- La valeur absolue qu'utilise le langage de programmation de C++ utilise les mêmes règles que celle de la fonction mathématique absolue «|x|».
- Les mathématiciens expriment cette fonction de la façon suivante : f(x) = | x |, laquelle correspond au trois définitions suivantes :
- SI x > 0 ALORS | x | = x,
- SI x < 0 ALORS | x | = - x,
- SI x = 0 ALORS | x | = 0.
- La valeur absolue, par définition, enlève le signe. Donc, on ne peut pas recevoir un nombre négatif comme résultat.
Exemple
Voici un exemple montrant une utilisation de la valeur absolue avec des parenthèses :
Essayer maintenant !
on obtiendra le résultat suivant :
Abs(9*(-7))=63Voici un exemple montrant une utilisation plus classique de la valeur absolue :
Essayer maintenant !
on obtiendra le résultat suivant :
Abs(1)=1Abs(-1)=1
Abs(30.2)=30.2
Abs(-35.4)=35.4
Voici un exemple montrant la différence de résultats avec la fonction «SGN» :
Essayer maintenant !
- #include <iostream>
- #include <cstdlib>
-
- int sgn(double valeur) {
- if(valeur < 0) return -1;
- if(valeur == 0) return 0;
- return 1;
- }
-
- int main() {
- std::cout << "abs(1)=" << abs(1) << ", sgn(1)=" << sgn(1) << std::endl;
- std::cout << "abs(-1)=" << abs(-1) << ", sgn(-1)=" << sgn(-1) << std::endl;
- std::cout << "abs(0)=" << abs(0) << ", sgn(0)=" << sgn(0) << std::endl;
- std::cout << "abs(5)=" << abs(5) << ", sgn(5)=" << sgn(5) << std::endl;
- std::cout << "abs(10)=" << abs(10) << ", sgn(10)=" << sgn(10) << std::endl;
- std::cout << "abs(-17)=" << abs(-17) << ", sgn(-17)=" << sgn(-17) << std::endl;
- std::cout << "abs(27.4)=" << abs(27.4) << ", sgn(27.4)=" << sgn(27.4) << std::endl;
- std::cout << "abs(-12.13)=" << abs(-12.13) << ", sgn(-12.13)=" << sgn(-12.13) << std::endl;
- return 0;
- }
on obtiendra le résultat suivant :
abs(1)= 1 , sgn(1)= 1abs(-1)= 1 , sgn(-1)=-1
abs(0)= 0 , sgn(0)= 0
abs(5)= 5 , sgn(5)= 1
abs(10)= 10 , sgn(10)= 1
abs(-17)= 17 , sgn(-17)=-1
abs(27.4)= 27.3999996185303 , sgn(27.4)= 1
abs(-12.13)= 12.1300001144409 , sgn(-12.13)=-1
Voici un exemple montrant comment effectuer une comparaison avec Abs :
Essayer maintenant !
on obtiendra le résultat suivant :
|a| > |b|Voici un exemple montrant comment calculer la distance entre deux nombres à l'aide de la fonction Abs :
Essayer maintenant !
- #include <iostream>
- #include <cstdlib>
-
- int main() {
- std::cout << "La distance entre -8 et 10 = " << abs(-8 - 10) << std::endl;
- std::cout << "La distance entre 4 et 8 = " << abs(4 - 8) << std::endl;
- std::cout << "La distance entre 0 et 5 = " << abs(0 - 5) << std::endl;
- std::cout << "La distance entre -100 et 100 = " << abs(-100 - 100) << std::endl;
- return 0;
- }
on obtiendra le résultat suivant :
La distance entre -8 et 10 = 18La distance entre 4 et 8 = 4
La distance entre 0 et 5 = 5
La distance entre -100 et 100 = 200
Voir également
Langage de programmation - C++ - Référence procédures et fonctions - fabs
Langage de programmation - C++ - Référence procédures et fonctions - labs
Langage de programmation - C - Référence procédures et fonctions - abs
Références
Langage C, Edition Micro-Application, Gehard Willms, 2001, ISBN: 2-7429-2008-0, page 730.
Borland C++ for Windows 4.0, Library Reference, Edition Borland, 1993, Part # BCP1240WW21772, page 27.