LES OPERATIONS MATHEMATIQUES
LISTE DES MOTS CLÉS SPÉCIFIQUES.
Mots clés du BBC BASIC.
+ : symbole de l'addition, calcule la somme de deux valeurs numériques.
- : symbole de la soustraction, calcule la différence de deux valeurs numériques.
* : symbole de la multiplication, calcule le produit de deux valeurs numériques.
/ : symbole de la division, calcule le quotient de deux valeurs numériques.
^ : symbole de l'exponentiation, élève une valeur numérique à la puissance d'une autre.
ABS() : retourne la valeur absolue d'une valeur numérique.
DIV : retourne la partie entière d'une division euclidienne.
EVAL() : retourne la valeur numérique contenue dans une expression.
EXP() : retourne e à la puissance donnée.
INT() : retourne la partie entière d'une valeur numérique.
LN() : retourne le logarithme naturel d'une valeur d'une numérique.
LOG() : retourne le logarithme en base 10 d'une valeur numérique.
MOD : retourne le reste (modulo) d'une division entière.
PI : retourne la valeur la plus proche possible de Pi, soir environ 3,14159265.
SGN() : retourne 1 pour les valeurs positifves, -1 pour les négatives et 0 pour les nulles.
SQR() : retourne la racine carrée d'une valeur numérique positive.
VAL() : convertit un chaine de caractères en une valeur numérique.
Module de la bibliothèque du BBC BASIC.
bigint.bbc : propose des procédures et des fonctions pour l'arithmétique pour grands nombres entiers.
LES OPÉRATIONS MATHÉMATIQUES DE BASE.
L'addition. Pour faire une addition, on utilise le symbole + entre deux valeurs numériques.
PRINT 3.4 + 2.1 : REM retourne 5.5
kvaleur = 7
ksomme = 6 + 3
ktotal = ksomme + kvaleur
PRINT ksomme : REM retourne 9
PRINT ksomme + 4.2 : REM retourne 13.9
PRINT ksomme + -5 : REM retourne 4
PRINT ksomme + kvaleur : REM retourne 16
PRINT ktotal : REM retourne 16
La soustraction. Pour faire une soustraction, on utilise le symbole - (tirer) entre deux valeurs numériques.
PRINT 3.4 - 2.1 : REM retourne 1.3
kvaleur = 7
kdifference = 6 - 3
ktotal = kdifference - kvaleur
PRINT kdifference : REM retourne 3
PRINT kdifference - 4.2 : REM retourne -1.2
PRINT kdifference - -5 : REM retourne 8
PRINT kdifference - kvaleur : REM retourne -4
PRINT ktotal : REM retourne -4
Notez bien la différence entre les notations :
- a - b, pour indiquer une soustraction, avec un espace après le signe - ;
- -b, pour indiquer une valeur négative, sans espace après le signe.
La multiplication. Pour faire une multiplication, on utilise le symbole * (étoile) entre deux valeurs numériques.
PRINT 3.4 * 2.1 : REM retourne 7.4
kvaleur = 7
kproduit = 6 * 3
ktotal = kproduit * kvaleur
PRINT kproduit : REM retourne 18
PRINT kproduit * 4.2 : REM retourne 75.6
PRINT kproduit * -5 : REM retourne -90
PRINT kproduit * kvaleur : REM retourne 126
PRINT ktotal : REM retourne126
La division. Pour faire une division, on utilise le symbole / entre deux valeurs numériques.
PRINT 3.4 / 2.1 : REM retourne 1.61904762
kvaleur = 7
kproduit = 6 / 3
ktotal = kproduit / kvaleur
PRINT kproduit : REM retourne 2
PRINT kproduit / 4.2 : REM retourne 0.476190476
PRINT kproduit / -5 : REM retourne -0.4
PRINT kproduit / kvaleur : REM retourne 0.285714286
PRINT ktotal : REM retourne 0.285714286
LES AUTRES OPÉRATIONS MATHÉMATIQUES.
La division entière. Pour connaitre la partie entière d'une division, on utilise l'instruction DIV.
FOR kvaleur = 1 TO 6 : PRINT 234 / kvaleur ; : NEXT kvaleur : PRINT
FOR kvaleur = 1 TO 6 : PRINT 234 DIV kvaleur ; : NEXT kvaleur
retourne :
234 117 78 58.5 46.8 39
234 117 78 58 46 39
Le modulo. Pour connaitre le reste d'une division entière, on utilise l'instruction MOD.
FOR kvaleur = 30 TO 35 : PRINT kvaleur / 5 ; : NEXT kvaleur : PRINT
FOR kvaleur = 30 TO 35 : PRINT kvaleur MOD 5 ; : NEXT kvaleur
retourne :
6 6.2 6.4 6.6 6.8 7
0 1 2 3 4 0
L'exponentiation. Pour élever un nombre à une certaine puissance, on utilise ^ entre deux valeurs numériques.
PRINT 3 ^ 7 : REM retourne 2187
kvaleur = 3
kpuissance = 7
ktotal = kvaleur / kpuissance
PRINT kvaleur ^ 7 : REM retourne 2187
PRINT 3 ^ kpuissance : REM retourne 2187
PRINT ktotal : REM retourne 2187
Il est possible, bien sûr, d'utiliser des fractions pour obtenir des racines à l'aide du symbole ^. Par exemple :
PRINT 16 ^ ( 1 / 2 ) : REM retourne la racine carrée de 16 soit 4
PRINT 16 ^ 0.5 : REM retourne la racine carrée de 16 soit 4
PRINT 27 ^ ( 1 / 3 ) : REM retourne la racine cubique de 27 soit 3
PRINT 256 ^ ( 1 / 4 ) : REM retourne la racine quatrième de 256 soit 4
PRINT 256 ^ 0.25 : REM retourne la racine quatrième de 256 soit 4
...
La racine carrée. Pour connaitre la racine carre d'une valeur numérique positive, on utilise la fonction SQR().
PRINT SQR( 16 ) : REM retourne 4
PRINT SQR( 17 + 8 ) : REM retourne 5
PRINT SQR( 36.17 ) : REM retourne 6.01414938
kvaleur = 121 : PRINT SQR( kvaleur ) : REM retourne 11
PRINT SQR( -49 ) : REM retourne Negative root car -49 n'est pas une valeur positive.
L'INCRÉMENTATION.
Comme tous les langages modernes BBC BASIC propose l'incrémentation des variables. L'incrémentation est une forme syntaxique qui permet de simplifier la modification d'une variable numérique par rapport à son ancienne valeur. Avec BBC BASIC, l'incrémentation est possible avec toutes les formes d'opérations ci-dessus sauf l'exponentiation. On l'emploi généralement pour avoir plus de visibilité dans le script et permettre une maintenance plus aisée.Bien sûr, l'incrémentation ne peut être utilisée qu'avec des variables déclarées préalablement.
Par exemple si kvaleur = 4, la syntaxe kvaleur += 3 équivaut à la syntaxe : kvaleur += kvaleur + 3
kvaleur = 7 : kvaleur += 3 : PRINT kvaleur : REM retourne 10
kvaleur = 7 : kvaleur -= 3 : PRINT kvaleur : REM retourne 4
kvaleur = 7 : kvaleur *= 3 : PRINT kvaleur : REM retourne 21
kvaleur = 7 : kvaleur /= 3 : PRINT kvaleur : REM retourne 2.333333333
kvaleur = 7 : kvaleur DIV= 3 : PRINT kvaleur : REM retourne 2
kvaleur = 7 : kvaleur MOD= 3 : PRINT kvaleur : REM retourne 1
LA PRIORITÉ DES OPÉRATIONS.
BBC respecte un ordre de priorité pour évaluer des expressions contenant plusieurs opérations. Si plusieurs opérations, ayant un même niveau de priorité, se trouvent dans une même expression elles seront évaluées de gauche à droite. Les opérations sont calculées dans l'ordre suivant :
- les sous-expressions entre parenthèses () ;
- le résultat des fonctions, tel que SQR(), LN(), LOG(), COS(), ... ;
- le changement de type, tel que! ? & % ;
- l'exponentiation ^ ;
- la multiplication, la division et assimilés * / MOD DIV ;
- l'addition, la soustraction et assimilé + − SUM.
LES AUTRES FONCTIONS MATHÉMATIQUES.
La fonction LOG() retourne le logarithme en base 10 d'une valeur numérique.
FOR kvaleur = 1 TO 30 STEP 6 : PRINT LOG( kvaleur ) : NEXT kvaleur
retourne :
0
0.84509884
1.11394335
1.2787536
1.39794001
La fonction LN() retourne le logarithme de base e (environ 2,718281828) d'une valeur numérique.
FOR kvaleur = 1 TO 30 STEP 6 : PRINT LN( kvaleur ) : NEXT kvaleur
retourne :
0
1.94591015
2.56494936
2.94443898
3.21887582
La fonction EXP() retourne la valeur de e (environ 2,718281828) à une puissance donnée. L'argument doit être inférieur à 88,7228392, en mode *FLOAT 40 ou à 709,782713, en mode *FLOAT 64.
FOR kvaleur = 1 TO 30 STEP 6 : PRINT EXP( kvaleur ) : NEXT kvaleur
retourne :
2.71828183
1096.63316
442413.392
178482301
7.20048993E10
LES AUTRES OUTILS MATHÉMATIQUES.
Le mot clé PI retourne une valeur approximative de Pi.
PRINT PI : REM retourne 3.14159265
La fonction INT() retourne la partie entière d'une valeur numérique.
PRINT INT( 12.34 ) ; " est la partie entiere de " ; 12.34 : REM retourne 12 est la partie entiere de12.34
La fonction SGN() permet de connaitre le signe d'une valeur numérique. Elle retourne :
- 1, pour les valeurs positives ;
- 0, pour les valeurs nulles ;
- -1, pour les valeurs négatives.
FOR kvaleur = -7 TO 8 STEP 7 : PRINT SGN( kvaleur ) ; " pour " ; kvaleur : NEXT kvaleur
retourne :
-1 pour -7
0 pour 0
1 pour 7
La fonction VAL() permet de convertir tout ou partie d'une chaine de caractères en valeur numérique.
PRINT VAL( "123" ) : REM retourne 123
PRINT VAL( "123.45" ) : REM retourne 123.45
PRINT VAL( "123,34" ) : REM retourne 123
PRINT VAL( "123 + 34" ) : REM retourne 123
PRINT VAL( "123 34" ) : REM retourne 123
PRINT VAL( "0123" ) : REM retourne 123
La fonction EVAL() permet d'évaluer le résultat d'une expression dans chaine de caractères. Si l'expression ne peut pas être évaluée en une valeur numérique, la fonction EVAL() retourne -1.
PRINT EVAL( "123" ) : REM retourne 123
PRINT EVAL( "123.45" ) : REM retourne 123.45
PRINT EVAL( "123,34" ) : REM retourne 123
PRINT EVAL( "12 + 34" ) : REM retourne 46
PRINT EVAL( "12 * 3" ) : REM retourne 36
PRINT EVAL( "12 * 3 = 36" ) : REM retourne -1
PRINT EVAL( "&FF" ) : REM retourne 255
kvaleur$ = "123" : PRINT EVAL( kvaleur$ ) : REM retourne 123
kvaleur$ = "FF" : PRINT EVAL( "&" + kvaleur$ ) : REM retourne 255
RUBRIQUES.
Les fonctions trigonométriques pour plus de détails sur les opérations et fonctions trigonométriques disponibles.
Les types de variables pour plus de détails sur la déclaration des variables et leurs différents types.
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.