ABS |
Valeur absolue |
---|---|
Delphi/Kylix/Lazarus | System |
Syntaxe
Function ABS(n:Integer):Integer; |
Function ABS(n:Real):Real; |
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 valeur absolue qu'utilise le langage de programmation de Delphi 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.
- La fonction abs renvoie la valeur absolue d'un nombre négatif ou positif. Il le fait en supprimant un signe négatif, s'il est trouvé.
- Cette fonction peut être soumise à des valeurs extrêmes comme l'infini, dans cette situation cette fonction supprimera simplement le signe négatif, soit «-INF» deviendra «INF».
- Le nombre peut être de n'importe quel type numérique, et peut même être un Variant, à condition qu'il puisse être converti en nombre. Par exemple, un Variant défini sur une chaîne de caractères '-1.23' fonctionnera correctement. La fonction abs convertit toujours le Variant en un nombre à virgule flottante étendu avant de supprimer tout signe négatif, même si le résultat est une valeur entière.
- Si vous utilisez un type de données Variant, celui-ci doit un nombre naturel, entier ou réel.
|
Exemple
Voici un exemple montrant une utilisation de la valeur absolue avec des parenthèses :
on obtiendra le résultat suivant :
Abs(9*(-7))=63Voici un exemple montrant une utilisation plus classique de la valeur absolue :
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» du Basic :
- Program Abs3;
-
- {$APPTYPE CONSOLE}
- Uses SysUtils;
-
- Function sgn(valeur:Double):ShortInt;Begin
- If valeur < 0 Then sgn := -1 Else
- If valeur = 0 Then sgn := 0
- Else sgn := 1;
- End;
-
- BEGIN
- WriteLn('abs(1)=',abs(1),', sgn(1)=',sgn(1));
- WriteLn('abs(-1)=',abs(-1),', sgn(-1)=', sgn(-1));
- WriteLn('abs(0)=',abs(0),', sgn(0)=', sgn(0));
- WriteLn('abs(5)=',abs(5),', sgn(5)=', sgn(5));
- WriteLn('abs(10)=',abs(10),', sgn(10)=', sgn(10));
- WriteLn('abs(-17)=',abs(-17),', sgn(-17)=', sgn(-17));
- WriteLn('abs(27.4)=',abs(27.4):0:1,', sgn(27.4)=', sgn(27.4));
- WriteLn('abs(-12.13)=',abs(-12.13):0:2,', sgn(-12.13)=', sgn(-12.13));
- END.
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.4, sgn(27.4)=1
abs(-12.13)=12.13, sgn(-12.13)=-1
Voici un exemple montrant comment effectuer une comparaison avec Abs :
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 :
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
Voici un exemple montrant comment effectuer l'utilisation de la valeur absolue négatif (N_Abs) à l'aide de la fonction Abs :
- Program Abs6;
-
- {$APPTYPE CONSOLE}
- Uses SysUtils;
-
- Function N_Abs(X:Real):Real;Begin
- N_Abs:=-Abs(X);
- End;
-
- BEGIN
- WriteLn('N_Abs(0)=',N_Abs(0):1:0);
- WriteLn('N_Abs(1)=',N_Abs(1):1:0);
- WriteLn('N_Abs(2)=',N_Abs(2):1:0);
- WriteLn('N_Abs(-1)=',N_Abs(-1):1:0);
- WriteLn('N_Abs(-2)=',N_Abs(-2):1:0);
- WriteLn('N_Abs(30.2)=',N_Abs(30.2):2:1);
- WriteLn('N_Abs(-35.4)=',N_Abs(-35.4):2:1);
- END.
on obtiendra le résultat suivant :
N_Abs(0)=0N_Abs(1)=-1
N_Abs(2)=-2
N_Abs(-1)=-1
N_Abs(-2)=-2
N_Abs(30.2)=-30.2
N_Abs(-35.4)=-35.4
Voici un exemple montrant comment on peut revenir au point de départ en partant des négatif vers les positifs :
on obtiendra le résultat suivant :
5, 4, 3, 2, 1, 0, 1, 2, 3, 4, 5Voir également
Langage de programmation - Delphi/Kylix/Lazarus - Référence de procédures et fonctions - Div
Langage de programmation - Delphi/Kylix/Lazarus - Référence de procédures et fonctions - Int
Langage de programmation - Delphi/Kylix/Lazarus - Référence de procédures et fonctions - Mod
Langage de programmation - Python - Référence de procédures et fonctions - «int»
Langage de programmation - Python - Référence de procédures et fonctions - math - «FABS»
Langage de programmation - Perl - Référence de procédures et fonctions - abs
Langage de programmation - Perl - Référence de procédures et fonctions - POSIX::abs
Langage de programmation - ASP 3.0 - Référence de procédures et fonctions - ABS
Langage de programmation - JavaScript - Référence des classes - Math.abs
Langage de programmation - Java - Référence des classes (JFC) - Math.abs
Langage de programmation - C# (C Sharp) - Référence des classes - Math.Abs
Langage de programmation - C++ - Référence de procédures et fonctions - ABS
Langage de programmation - C - Référence de procédures et fonctions - ABS
Langage de programmation - Turbo Basic - Référence de procédures et fonctions - ABS
Langage de programmation - Quick Basic - Référence de procédures et fonctions - ABS
Langage de programmation - Power Basic - Référence de procédures et fonctions - ABS
Langage de programmation - Visual Basic - Référence de procédures et fonctions - ABS
Langage de programmation - MySQL - Référence de procédures et fonctions - ABS
Langage de programmation - Oracle Database SQL - Référence de procédures et fonctions - ABS