Section courante

A propos

Section administrative du site

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

Exemple

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

  1. Program Abs1;
  2.  
  3. {$APPTYPE CONSOLE}
  4. Uses SysUtils;
  5.  
  6. BEGIN
  7.  WriteLn('Abs(9*(-7))=',Abs(9*(-7)));
  8. END.

on obtiendra le résultat suivant :

Abs(9*(-7))=63

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

  1. Program Abs2;
  2.  
  3. {$APPTYPE CONSOLE}
  4. Uses SysUtils;
  5.  
  6. BEGIN
  7.  WriteLn('Abs(1)=',Abs(1));
  8.  WriteLn('Abs(-1)=',Abs(-1));
  9.  WriteLn('Abs(30.2)=',Abs(30.2):2:1);
  10.  WriteLn('Abs(-35.4)=',Abs(-35.4):2:1);
  11. END.

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. Program Abs3;
  2.  
  3. {$APPTYPE CONSOLE}
  4. Uses SysUtils;
  5.  
  6. Function sgn(valeur:Double):ShortInt;Begin
  7.  If valeur < 0 Then sgn := -1 Else 
  8.  If valeur = 0 Then sgn := 0 
  9.                Else sgn := 1;
  10. End;
  11.  
  12. BEGIN
  13.  WriteLn('abs(1)=',abs(1),', sgn(1)=',sgn(1));
  14.  WriteLn('abs(-1)=',abs(-1),', sgn(-1)=', sgn(-1));
  15.  WriteLn('abs(0)=',abs(0),', sgn(0)=', sgn(0));
  16.  WriteLn('abs(5)=',abs(5),', sgn(5)=', sgn(5));
  17.  WriteLn('abs(10)=',abs(10),', sgn(10)=', sgn(10));
  18.  WriteLn('abs(-17)=',abs(-17),', sgn(-17)=', sgn(-17));
  19.  WriteLn('abs(27.4)=',abs(27.4):0:1,', sgn(27.4)=', sgn(27.4));
  20.  WriteLn('abs(-12.13)=',abs(-12.13):0:2,', sgn(-12.13)=', sgn(-12.13));
  21. END.

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. Program Abs4;
  2.  
  3. {$APPTYPE CONSOLE}
  4. Uses SysUtils;
  5.  
  6. Var
  7.  A,B:Real;
  8.  
  9. BEGIN
  10.  A := -10;
  11.  B := 6;
  12.  If Abs(A) > Abs(B)Then WriteLn('|a| > |b|');
  13.  If Abs(A) = Abs(B)Then WriteLn('|a| = |b|');
  14.  If Abs(A) < Abs(B)Then WriteLn('|a| < |b|');
  15. END.

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. Program Abs5;
  2.      
  3. {$APPTYPE CONSOLE}
  4. Uses SysUtils;
  5.      
  6. BEGIN
  7.  WriteLn('La distance entre -8 et 10 = ',abs(-8 - 10));
  8.  WriteLn('La distance entre 4 et 8 = ',abs(4 - 8));
  9.  WriteLn('La distance entre 0 et 5 = ',abs(0 - 5));
  10.  WriteLn('La distance entre -100 et 100 = ',abs(-100 - 100));
  11. END.

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. Program Abs6;
  2.      
  3. {$APPTYPE CONSOLE}
  4. Uses SysUtils;
  5.  
  6. Function N_Abs(X:Real):Real;Begin
  7.  N_Abs:=-Abs(X);
  8. End;
  9.    
  10. BEGIN
  11.  WriteLn('N_Abs(0)=',N_Abs(0):1:0);
  12.  WriteLn('N_Abs(1)=',N_Abs(1):1:0);
  13.  WriteLn('N_Abs(2)=',N_Abs(2):1:0);
  14.  WriteLn('N_Abs(-1)=',N_Abs(-1):1:0);
  15.  WriteLn('N_Abs(-2)=',N_Abs(-2):1:0);
  16.  WriteLn('N_Abs(30.2)=',N_Abs(30.2):2:1);
  17.  WriteLn('N_Abs(-35.4)=',N_Abs(-35.4):2:1);
  18. END.

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

Voici un exemple montrant comment on peut revenir au point de départ en partant des négatif vers les positifs :

  1. Program Abs7;
  2.  
  3. {$APPTYPE Console}
  4. Uses SysUtils;
  5.  
  6. Var 
  7.  I:ShortInt;
  8.  
  9. BEGIN
  10.  For I := -5 to 5 do Begin
  11.   Write(Abs(I));
  12.   If I < 5 Then Write(', ');
  13.  End;
  14. END.

on obtiendra le résultat suivant :

5, 4, 3, 2, 1, 0, 1, 2, 3, 4, 5

Voir é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


Dernière mise à jour : Vendredi, le 22 décembre 2017