Section courante

A propos

Section administrative du site

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

Exemples

Voici un exemple montrant une utilisation de la valeur absolue avec des parenthèses :

  1. #!/usr/bin/perl
  2.  
  3. use strict;
  4.  
  5. print "Abs(9*(-7))=".abs(9*(-7));

on obtiendra le résultat suivant :

Abs(9*(-7))=63

Voici un exemple montrant une utilisation plus classique de la valeur absolue :

  1. #!/usr/bin/perl
  2.  
  3. use strict;
  4.  
  5. print "Abs(1)=" . abs(1)."\n";
  6. print "Abs(-1)=" . abs(-1)."\n";
  7. print "Abs(30.2)=" . abs(30.2)."\n";
  8. print "Abs(-35.4)=" . abs(-35.4)."\n";

on obtiendra le résultat suivant :

Abs(1)=1
Abs(-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 :

  1. #!/usr/bin/perl
  2.  
  3. use strict;
  4.  
  5. sub sgn($) {
  6.  my($valeur) = @_;
  7.  if($valeur < 0) {
  8.   return -1;
  9.  } elsif($valeur == 0) {
  10.   return 0;
  11.  } else {
  12.   return 1;
  13.  }
  14. }
  15.  
  16. print "abs(1)=" . abs(1) . ", sgn(1)=" . sgn(1) . "\n";
  17. print "abs(-1)=" . abs(-1) . ", sgn(-1)=" . sgn(-1) . "\n";
  18. print "abs(0)=" . abs(0) . ", sgn(0)=" . sgn(0) . "\n";
  19. print "abs(5)=" . abs(5) . ", sgn(5)=" . sgn(5) . "\n";
  20. print "abs(10)=" . abs(10) . ", sgn(10)=" . sgn(10) . "\n";
  21. print "abs(-17)=" . abs(-17) . ", sgn(-17)=" . sgn(-17) . "\n";
  22. print "abs(27.4)=" . abs(27.4) . ", sgn(27.4)=" . sgn(27.4) . "\n";
  23. 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)=1
abs(-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 :

  1. #!/usr/bin/perl
  2.  
  3. use strict;
  4.  
  5. my $A = -10;
  6. my $B = 6;
  7. if(abs($A) > abs($B)) {
  8.    print "|a| > |b|";
  9. }
  10. if(abs($A) == abs($B)) {
  11.    print "|a| = |b|";
  12. }
  13. if(abs($A) < abs($B)) {
  14.    print "|a| < |b|";
  15. }

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 :

  1. #!/usr/bin/perl
  2.  
  3. use strict;
  4.  
  5. print "La distance entre -8 et 10 = " . abs(-8 - 10) . "\n";
  6. print "La distance entre 4 et 8 = " . abs(4 - 8) . "\n";
  7. print "La distance entre 0 et 5 = " . abs(0 - 5) . "\n";
  8. print "La distance entre -100 et 100 = " . abs(-100 - 100) . "\n";

on obtiendra le résultat suivant :

La distance entre -8 et 10 = 18
La 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 :

  1. #!/usr/bin/perl
  2.  
  3. use strict;
  4.  
  5. sub N_Abs($) {
  6.  my($X) = @_;
  7.  return - abs($X);
  8. }
  9.  
  10. print "N_Abs(0)=" . N_Abs(0) . "\n";
  11. print "N_Abs(1)=" . N_Abs(1) . "\n";
  12. print "N_Abs(2)=" . N_Abs(2) . "\n";
  13. print "N_Abs(-1)=" .N_Abs(-1) . "\n";
  14. print "N_Abs(-2)=" . N_Abs(-2) . "\n";
  15. print "N_Abs(30.2)=" . N_Abs(30.2) . "\n";
  16. print "N_Abs(-35.4)=" . N_Abs(-35.4) . "\n";

on obtiendra le résultat suivant :

N_Abs(0)=0
N_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

Dernière mise à jour : Dimanche, le 18 octobre 2015