ABS |
Absolue |
---|---|
Perl |
Syntaxe
abs |
abs expression |
Paramètres
Nom | Description |
---|---|
expression | Ce paramètre permet d'indiquer une expression représentant un nombre à traiter. Lorsque ce paramètre est omis, la variable «$_» est utilisé. |
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 offre la possibilité d'obtenir la valeur absolue d'un nombre entier ou réel. Ainsi, le signe (négatif), s'il existe, est retiré de façon à conserver uniquement les chiffres du nombre sans toutefois changer sa 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 expression ou de l'expression $_ s'il n'est pas spécifié.
- La valeur absolue qu'utilise le langage de programmation de Perl 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.
- 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».
|
Exemples
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 :
- #!/usr/bin/perl
-
- use strict;
-
- sub sgn($) {
- my($valeur) = @_;
- if($valeur < 0) {
- return -1;
- } elsif($valeur == 0) {
- return 0;
- } else {
- return 1;
- }
- }
-
- print "abs(1)=" . abs(1) . ", sgn(1)=" . sgn(1) . "\n";
- print "abs(-1)=" . abs(-1) . ", sgn(-1)=" . sgn(-1) . "\n";
- print "abs(0)=" . abs(0) . ", sgn(0)=" . sgn(0) . "\n";
- print "abs(5)=" . abs(5) . ", sgn(5)=" . sgn(5) . "\n";
- print "abs(10)=" . abs(10) . ", sgn(10)=" . sgn(10) . "\n";
- print "abs(-17)=" . abs(-17) . ", sgn(-17)=" . sgn(-17) . "\n";
- print "abs(27.4)=" . abs(27.4) . ", sgn(27.4)=" . sgn(27.4) . "\n";
- print "abs(-12.13)=" . abs(-12.13) . ", sgn(-12.13)=" . sgn(-12.13) . "\n";
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 :
- #!/usr/bin/perl
-
- use strict;
-
- sub N_Abs($) {
- my($X) = @_;
- return - abs($X);
- }
-
- print "N_Abs(0)=" . N_Abs(0) . "\n";
- print "N_Abs(1)=" . N_Abs(1) . "\n";
- print "N_Abs(2)=" . N_Abs(2) . "\n";
- print "N_Abs(-1)=" .N_Abs(-1) . "\n";
- print "N_Abs(-2)=" . N_Abs(-2) . "\n";
- print "N_Abs(30.2)=" . N_Abs(30.2) . "\n";
- print "N_Abs(-35.4)=" . N_Abs(-35.4) . "\n";
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
Voir également
Langage de programmation - Perl - Référence de procédures et fonctions - POSIX::abs
Langage de programmation - C - Référence de procédures et fonctions - abs
Langage de programmation - Python - Référence de procédures et fonctions - «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 - Delphi - 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
Références
La Bible Micro Application HTML & Développement Web, Stefan Munz, Wolfgang Nefzger, 2003, ISBN: 2-7429-2898-7, page 1124
Perl/CGI-Programmation avancée Grand Livre, Edition Micro Application, Rolf D. Stoll, 2001, ISBN: 2742919082, page 514