SGN()
DESCRIPTION.
La fonction SGN() retourne le signe d'une variable ou d'une valeur numérique.
SYNTAXE.
variable? = SGN ( 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 le type INTEGER (%) est recommandé.
SGN() retourne :
- -1, si valeur est négatif, c'est-à-dire inférieur à 0 ;
- 0, si valeur est nul, c'est-à-dire égal à 0 ;
- 1, si valeur est positif, c'est-à-dire supérieur à 0.
Utilisez ABS() pour déterminer la valeur absolue des nombres négatifs si nécessaire.
QB64 permet de renvoyer uniquement des valeurs _UNSIGNED positives à l'aide d'une instruction DIM ou _DEFINE.
EXEMPLES.
PRINT SGN(7): REM --- retourne retourne 1 ---
PRINT SGN(-7): REM --- retourne retourne -1 ---
PRINT SGN(0): REM --- retourne retourne 0 ---
PRINT SGN(7.8): REM --- retourne retourne 1 ---
PRINT SGN(-7.8): REM --- retourne retourne -1 ---
PRINT SGN(5 + 8): REM --- retourne retourne 1 ---
PRINT SGN(5 - 8): REM --- retourne retourne -1 ---
PRINT SGN(5 + 3 - 8): REM --- retourne retourne 0 ---
REM --- Test si un nombre est positif ---
FOR kvaleur = -3 TO 3
SELECT CASE SGN(kvaleur)
CASE -1: ksigne$ = "negatif"
CASE 0: ksigne$ = "nul"
CASE 1: ksigne$ = "positif"
END SELECT
PRINT kvaleur; "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 SGN(ktotal) = -1 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.