ABS()
DESCRIPTION.
La fonction ABS() retourne la valeur absolue d'une variable ou d'une valeur numérique littérale.
SYNTAXE.
variable? = ABS ( valeur )
REMARQUES.
valeur est obligatoire, mais peut être de n'importe quel type numérique.
Si variable? est présente, elle doit être d'un type numérique, mais peut être différent du type de valeur.
ABS() retourne toujours des valeurs numériques positives.
ABS() peut être utilisée pour convertir les nombres négatifs en nombres positifs.
ABS() est souvent utilisé pour maintenir une valeur positive lorsque cela est nécessaire dans un programme.
ABS() peut être utilisée pour donner la différence entre deux nombres sans tenir compte du signe de la réponse. Cela est particulièrement utile lorsque vous souhaitez connaître la différence entre deux valeurs, mais que vous ne savez pas laquelle est la plus grande. Par exemple :
INPUT "Quelle largeur "; klargeur
INPUT "Quelle hauteur "; khauteur
PRINT "ABS(";klargeur;" - "; khauteur ;") = "; ABS(klargeur - khauteur)
PRINT "ABS(";khauteur;" - "; klargeur ;") = "; ABS(khauteur - klargeur)
ABS() peut être utilisée pour vérifier qu'une réponse calculée se situe dans certaines limites d'une valeur spécifiée.
INPUT "Quelle largeur "; klargeur
INPUT "Quelle hauteur "; khauteur
PRINT "Ces dimensions sont ";
IF ABS(klargeur - khauteur) < 5 THEN PRINT "acceptees." ELSE PRINT "refusees."
Utilisez SGN() pour déterminer le signe d'une valeur si nécessaire.
QB64 permet de renvoyer uniquement des valeurs _UNSIGNED positives à l'aide d'une instruction DIM ou _DEFINE.
EXEMPLES.
PRINT ABS(7): REM --- retourne retourne 7 ---
PRINT ABS(-7): REM --- retourne retourne 7 ---
PRINT ABS(7.8): REM --- retourne retourne 7.8 ---
PRINT ABS(-7.8): REM --- retourne retourne 7.8 ---
PRINT ABS(5 + 8): REM --- retourne retourne 13 ---
PRINT ABS(5 - 8): REM --- retourne retourne 3 ---
knombre = -876
PRINT "La valeur absolue de "; knombre; "est"; ABS(knombre): REM --- retourne La valeur absolue de -876 est 876 ---
REM --- Test si un nombre est positif ---
FOR kvaleur = 1 TO 10
khasard = (RND * 8) - 5
IF khasard = ABS(khasard) THEN ksigne$ = "positif" ELSE ksigne$ = "negatif"
PRINT khasard; "est un nombre "; ksigne$; "."
NEXT
END
REM --- Ne retourner que des valeurs positives ---
FOR kvaleur = 1 TO 10
kdebut = INT((RND * 800) - 500)
kfin = INT((RND * 800) - 500)
ktotal = kdebut + kfin
PRINT kdebut; "+"; kfin; "="; ktotal;
IF ktotal < 0 THEN ktotal = ABS(ktotal)
PRINT "dont"; ktotal
NEXT
END
Votre aide est précieuse pour améliorer ce site, alors n'hésitez pas à faire part de
Dans la RETROGICIEL vous trouvez des suggestions simples et classiques pour
TESTER - DÉCOUVRIR - PRATIQUER - APPROFONDIR - EXPLORER
avec un exemple de résolution à télécharger pour vous inspirer.