Expressions et fonctions mathématiques
Expressions numériques
Les expressions numériques s’écrivent grâce aux opérateurs suivants , présentés par ordre de priorité décroissante :
^ Élévation à la puissance
* Multiplication
/ Division
MOD Reste de la division de deux entiers
+ Addition
- Soustraction
Il est possible d’utiliser des parenthèses pour forcer la priorité des opérateurs :
PRINT 2 + 3 * 4
14
Ok
PRINT (2 + 3) * 4
20
Ok
Les comparaisons
Voici les opérateurs permettant de comparer des nombres :
= Égalité
> Supérieur
>= Supérieur ou égal
< Inférieur
<= Inférieur ou égal
<> Différent
>< Différent (idem précédent)
Expressions logiques
Le BASIC ne dispose pas de variable booléenne, et considère que la valeur nulle correspond à FAUX et qu’une valeur de 1 correspond à VRAI. Les expressions logiques se construisent à partir des opérateurs suivants :
NOT Négation
AND ET logique
OR OU logique
XOR OU exclusif
Voici quelques exemples de calcul booléen :
A = 0 : B = 1
Ok
PRINT A OR B
1
Ok
PRINT A AND B
0
Ok
A = 1 : B = 1
PRINT A XOR B
0
Ok
Faites attention lorsque vous utilisez les opérateurs booléens sur des valeurs différentes de 0 ou de 1, car il y a des différences d’implémentation suivant les BASIC. GW-BASIC effectue des opérations bit à bit, alors qu’Applesoft BASIC ou Atari BASIC considèrent qu’une valeur non nulle correspond à VRAI. Ainsi :
PRINT 1 AND 2
=> donne 1 en Applesoft BASIC (les 2 opérandes sont VRAI)
=> donne 0 en GW-BASIC car le AND se fait bit à bit !
Les fonctions mathématiques
Plusieurs fonctions mathématiques sont disponibles. Attention la liste des fonctions proposées peut varier en fonction du dialecte BASIC.
SIN(X) Renvoie le sinus de X.
COS(X) Renvoie le cosinus de X.
TAN(X) Renvoie la tangente de X.
ATN(X) Renvoie l'arc-tangente de X.
SQR(X) Renvoie la racine carrée de X.
LOG(X) Renvoie le logarithme naturel de X.
EXP(X) Renvoie l'exponentielle de X.
ABS(X) Renvoie la valeur absolue de X.
INT(X) Renvoie la partie entière de X.
SGN(X) Renvoie le signe de X (1, -1 ou 0 si X est nul
RND(X) Renvoie un nombre aléatoire. Attention, la syntaxe et le
fonctionnement diffèrent suivant les BASICs...
