Section courante

A propos

Section administrative du site

ABS

Valeur absolue
Turbo Pascal 3+ 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. Le paramètre n est une expression de type entier ou de type réel. Le résultat, du même type que n, est la valeur absolue de n.

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 :

Graphique d'une courbe de valeur absolue

Remarques

Algorithme

MODULE ABS(valeur)
   SI valeur < 0 ALORS
      RETOURNE - valeur
   SINON
      RETOURNE valeur
   FIN SI

Exemples

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

Essayer maintenant !
  1. Program Abs1;
  2.  
  3. BEGIN
  4.  WriteLn('Abs(9*(-7))=',Abs(9*(-7)));
  5. END.

on obtiendra le résultat suivant :

Abs(9*(-7))=63

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

Essayer maintenant !
  1. Program Abs2;
  2.  
  3. BEGIN
  4.  WriteLn('Abs(1)=',Abs(1));
  5.  WriteLn('Abs(-1)=',Abs(-1));
  6.  WriteLn('Abs(30.2)=',Abs(30.2):2:1);
  7.  WriteLn('Abs(-35.4)=',Abs(-35.4):2:1);
  8. 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» :

Essayer maintenant !
  1. Program Abs3;
  2.  
  3. {$E+,N+}
  4.      
  5. Function sgn(valeur:Double):ShortInt;Begin
  6.  If valeur < 0 Then sgn := -1 Else 
  7.  If valeur = 0 Then sgn := 0 
  8.                Else sgn := 1;
  9. End;
  10.      
  11. BEGIN
  12.  WriteLn('abs(1)=',abs(1),', sgn(1)=',sgn(1));
  13.  WriteLn('abs(-1)=',abs(-1),', sgn(-1)=', sgn(-1));
  14.  WriteLn('abs(0)=',abs(0),', sgn(0)=', sgn(0));
  15.  WriteLn('abs(5)=',abs(5),', sgn(5)=', sgn(5));
  16.  WriteLn('abs(10)=',abs(10),', sgn(10)=', sgn(10));
  17.  WriteLn('abs(-17)=',abs(-17),', sgn(-17)=', sgn(-17));
  18.  WriteLn('abs(27.4)=',abs(27.4):0:1,', sgn(27.4)=', sgn(27.4));
  19.  WriteLn('abs(-12.13)=',abs(-12.13):0:2,', sgn(-12.13)=', sgn(-12.13));
  20. 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.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 !
  1. Program Abs4;
  2.      
  3. Var
  4.  A,B:Real;
  5.      
  6. BEGIN
  7.  A := -10;
  8.  B := 6;
  9.  If Abs(A) > Abs(B)Then WriteLn('|a| > |b|');
  10.  If Abs(A) = Abs(B)Then WriteLn('|a| = |b|');
  11.  If Abs(A) < Abs(B)Then WriteLn('|a| < |b|');
  12. 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 :

Essayer maintenant !
  1. Program Abs5;
  2.          
  3. BEGIN
  4.  WriteLn('La distance entre -8 et 10 = ',abs(-8 - 10));
  5.  WriteLn('La distance entre 4 et 8 = ',abs(4 - 8));
  6.  WriteLn('La distance entre 0 et 5 = ',abs(0 - 5));
  7.  WriteLn('La distance entre -100 et 100 = ',abs(-100 - 100));
  8. 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

Voir également

Langage de programmation - Turbo Pascal - Référence de procédures et fonctions - INT

Références

Aide-mémoire de Turbo Pascal versions de 3 à 6, Edition Marabout, De Groote, Virga, 1992, ISBN: 2-501-01833-8, page 89.
L'indispensable pour Turbo Pascal sur PC - Version 3, 4, 5, Edition Marabout, J. Morleghem, 1990, ISBN: 2-501-01275-1, page 210.
Le grand livre du Turbo & Borland Pascal 7.0, Edition Micro Application, Reiner Scholles, 1993, ISBN: 2-86899-873-9, page 1210.

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