ABS |
Absolue |
|---|---|
Perl |
POSIX |
Syntaxe
| sub POSIX::abs($expression); |
Paramètres
| Nom | Description |
|---|---|
| $expression | Ce paramètre permet d'indiquer une expression représentant un 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 permet de retourner 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.
Algorithme
|
MODULE ABS(valeur) SI valeur < 0 ALORS RETOURNE - valeur SINON RETOURNE valeur FIN SI |
Remarques
- Fonction de base pour le traitement numérique : La fonction abs est essentielle en programmation numérique. Elle permet d'ignorer le signe d'un nombre tout en conservant sa "distance" à zéro. Cette opération est fréquente dans les calculs de distance, d'écart, ou lors de comparaisons où seul l'amplitude du nombre compte.
- Retourne toujours un résultat positif ou nul : Quel que soit le nombre fourni (positif, négatif ou nul), abs retournera une valeur positive ou nulle. Cela garantit une prévisibilité utile, notamment pour éviter les résultats négatifs indésirables dans des contextes comme le calcul de différence entre valeurs.
- Appartient au module POSIX, mais existe aussi en Perl pur : Même si l'exemple donné ici fait appel à POSIX::abs, Perl dispose aussi d'une fonction abs native, utilisable sans importation de module. L'usage explicite via POSIX peut s'avérer utile dans des contextes où l'on préfère regrouper les appels selon leur origine ou dans du code plus rigoureusement typé.
- Ne modifie pas la variable d'origine : La fonction abs agit en lecture seulement : elle renvoie la valeur absolue, mais ne modifie pas la variable passée en paramètre. Pour conserver le résultat, il est donc nécessaire de l'assigner à une variable, ce qui évite les effets de bord.
- Prend en charge les types numériques, y compris les flottants : abs accepte aussi bien des entiers que des nombres à virgule flottante. Par exemple, abs(-3.14) renverra 3.14. Cela la rend adaptée à une large gamme d'opérations mathématiques, notamment les calculs de précision ou de variation.
- Utile pour le calcul d'écarts ou de tolérances : En pratique, abs est souvent utilisée dans les comparaisons de valeurs pour vérifier si une différence est dans une certaine tolérance. Par exemple, abs($a - $b) < 0.01 permet de déterminer si deux nombres sont "presque égaux", une approche commune en calcul scientifique.
- Doit être utilisée avec des expressions numériques valides : Le paramètre attendu est un nombre ou une expression numérique. Si une chaîne non numérique est fournie, Perl tentera une conversion implicite, mais cela pourrait produire des résultats inattendus (abs("abc") donne 0). Il faut donc vérifier ou forcer le typage si nécessaire.
- Facilite l'uniformisation de données pour affichage ou traitement : Lorsqu'on souhaite représenter des données visuellement ou les ordonner indépendamment du signe, abs permet de neutraliser l'aspect positif/négatif. Par exemple, pour un graphique d'écarts ou de pertes/gains, cela permet de comparer uniquement l'intensité des variations, sans tenir compte de leur direction.
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
Voir également
Langage de programmation - Perl - Référence de procédures et fonctions - abs
Langage de programmation - Fonction C pour Linux - abs
Dernière mise à jour : Dimanche, le 18 octobre 2015