Opérateurs, ordre de préséance et résumé des fonctions
Opérateurs logiques
Les opérateurs logiques reconnus par ST BASIC sont NOT, AND, OR, XOR, IMP et EQV. Ces opérateurs logiques agissent sur les drapeaux résultant d'expressions logiques. Un drapeau vrai est égal à -1 et un drapeau faux est égal à 0. Ainsi, l'instruction A = 1 : B = 2 : PRINT A = B affiche 0, tandis que l'instruction A = 1 : B = 2 : PRINT A <> B affiche -1.
Le résultat de AND est vrai lorsque les deux paramètres sont vrais :
2 + 2 = 4 AND 3 + 2 = 5 est vrai. |
Le résultat de OR est vrai lorsque l'un des arguments est vrai :
2 + 2 = 4 OR 3 + 2 = 7 est vrai. |
IMP est l'abréviation d'implication. IMP travaille sur des expressions logiques pour vérifier la validité des prémisses et des conclusions. IMP est vrai dans tous les cas sauf lorsqu'une prémisse est vrai et une conclusion est fausse.
L'énoncé 2 + 2 = 4 IMP 3 + 2 = 6 est fausse. Les déclarations suivantes sont des implications valides et sont considérées comme vraies :
2 + 2 = 4 IMP 3 + 3 = 6 2 + 2 = 3 IMP 3 + 3 = 6 2 + 2 = 3 IMP 3 + 3 = 7 |
Les opérateurs suivants fonctionnent au niveau du bit sur des nombres entiers à un octet selon ce qui suit :
AND produit un résultat dans lequel un bit est égal à 1 uniquement lorsqu'il y a un 1 dans les deux paramètres. A% = 5 : B% = 3 : C% = A % ET B% rend C% égal à 1.
OR produit un résultat dans lequel un bit est égal à 1 où il y a un 1 dans l'un ou l'autre des paramètres. A% = 5 : B% = 3 : C% = A% OU B%. rend C% égal à 7.
XOR produit un résultat dans lequel un bit est égal à 1 où il y a un 1 dans l'un ou l'autre des paramètres, mais pas dans les deux paramètres. A% = 5 : B% = 3 : C% = A% XOR B% rend C% égal à 6.
EQV produit un résultat où un bit est égal à 1 où il y a un 1 dans les deux paramètres, ou où il y a un 0 dans les deux paramètres. Un bit est égal à 0 lorsque les bits de le paramètre diffèrent. A% = 5 : B% = 3 : C% = A% EQV B% rend C% égal à -7.
Table de vérité
NOT | X | NOT X | |
---|---|---|---|
0 | 1 | ||
1 | 0 | ||
AND | X | Y | X AND Y |
0 | 0 | 0 | |
0 | 1 | 0 | |
1 | 0 | 0 | |
1 | 1 | 1 | |
OR | X | Y | X OR Y |
0 | 0 | 0 | |
0 | 1 | 1 | |
1 | 0 | 1 | |
1 | 1 | 1 | |
XOR | X | Y | X XOR Y |
0 | 0 | 0 | |
0 | 1 | 1 | |
1 | 0 | 1 | |
1 | 1 | 0 | |
IMP | X | Y | X IMP Y |
0 | 0 | 1 | |
0 | 1 | 1 | |
1 | 0 | 0 | |
1 | 1 | 1 | |
EQV | X | Y | X EQV Y |
0 | 0 | 1 | |
0 | 1 | 0 | |
1 | 0 | 0 | |
1 | 1 | 1 |
Opérateurs arithmétiques
Symbole | Nom | Exemple |
---|---|---|
+ | Addition | X + Y |
- | Soustraction | X - Y |
* | Multiplication | X * Y |
/ | Division | X / Y |
MOD | Modulo | X MOD Y |
^ | Exponentiation | X ^ Y |
Opérateurs relationnels
Symbole | Signification | Exemple |
---|---|---|
= | Égalité | X = Y |
<> | N'est pas égale | X <> Y |
< | Est inférieur à | X < Y |
> | Est supérieur à | X > Y |
<= | Est inférieur ou égale à | X <= Y |
>= | Est supérieur ou égale à | X >= Y |
Ordre de priorité des opérateurs
Opérateur | Explication |
---|---|
() | Les éléments entre parenthèses ont la priorité la plus élevée |
^ | Exponentiation |
- | Négation |
* | Multiplication |
/ | Division en virgule flottante et entière |
MOD | Modulo |
+, - | Addition, soustraction |
= , <>, < , >, <= , >= | Opérateurs relationnels |
NOT, AND, OR, XOR, IMP, EQV | Opérateurs logiques, dans l'ordre indiqué |
Résumé des premières fonctions de ST BASIC
Les fonctions opèrent sur des constantes et des variables pour produire des valeurs pour les variables. Une constante est un nombre, tel que 250,4 ou une chaîne de caractères telle que BONJOUR. Une variable est une valeur numérique nommée, telle que TOTAL ou une valeur de chaîne de caractères nommée, telle que NAME$.
Noms des variables
Les noms de variables ne peuvent pas contenir d'espaces. Ils peuvent être aussi longs que vous le souhaitez, mais seuls les 31 premiers caractères sont utilisés par ST BASIC pour les distinguer les uns des autres.
Variables numériques
Il existe différents types de variables numériques. Le tableau suivant récapitule les types de variables :
Caractères | Type | Exemple |
---|---|---|
$ | Chaîne de caractères | NAME$ |
% | Entier | RECORD.NUMBER% |
! | Nombre réel | TOTAL.PROFIT! |
Déclarations de type
Les instructions suivantes déclarent des types de variables dans ST BASIC :
Types | Description |
---|---|
DEFSTR | Déclare des variables de chaîne de caractères. |
DEFINT | Déclare des variables entières. |
DEFSNG | Déclare des variables de nombres réels. |
Fonctions numériques
Les fonctions numériques disponibles dans ST BASIC sont présentées ci-dessous :
Fonction | Explication |
---|---|
ABS | Renvoie la valeur absolue d'un nombre. |
ATN | Renvoie l'arc tangente d'un nombre. |
COS | Renvoie le cosinus d'un nombre. |
EXP | Renvoie à la puissance d'une valeur donnée. |
LOG | Renvoie le logarithme naturel d'un nombre. |
LOG10 | Renvoie le logarithme en base 10 d'un nombre. |
RND | Génère une séquence de nombres aléatoires. |
SIN | Renvoie le sinus d'un nombre en radians. |
SQR | Renvoie la racine carrée d'un nombre. |
TAN | Renvoie la tangente d'un nombre en radians |
Fonctions de chaîne de caractères
Les chaînes de caractères peuvent être concaténées en utilisant + comme dans A$ = B$ + C$. D'autres fonctions de chaîne de caractères sont disponibles dans ST BASIC, comme indiqué dans le tableau suivant :
Fonction | Explication |
---|---|
INSTR | Recherche la première occurrence d'une séquence particulière de caractères dans une chaîne de caractères et renvoie sa position. |
LEFT$ | Renvoie les caractères les plus à gauche d'une chaîne de caractères. |
LEN | Renvoie le nombre de caractères d'une chaîne de caractères. |
MID$ | Extrait une chaîne de caractères à partir d'une chaîne de caractères, en commençant au point que vous spécifiez. |
RIGHT$ | Renvoie les caractères les plus à droite d'une chaîne de caractères. |
SPACE$ | Renvoie une chaîne de caractères d'espaces. |
STR$ | Convertit un nombre en chaîne de caractères. |
STRING$ | Renvoie une chaîne de caractères d'une longueur donnée. |
Tableaux
Le ST BASIC prend en charge les tableaux numériques et de chaînes de caractères. L'instruction DIM dimensionne les variables. Lorsque vous faites référence à des tableaux, les index font référence à des lignes, des colonnes et des plans, dans cet ordre. Les valeurs d'index peuvent être n'importe quelle constante, variable ou expression numérique valide. Les valeurs entières sont les plus efficaces, car les nombres réels sont convertis en entiers lorsqu'ils sont utilisés comme indices dans un tableau. Les tableaux acceptent l'entrée directement et peuvent être utilisés comme n'importe quelle variable dans une instruction BASIC.
Exemple de tableau bidimensionnel :
(0) | (1) | (2) | ||
---|---|---|---|---|
(0) | (0.0) | (0.1) | (0.2) | DIM |
(1) | (1.0) | (1.1) | (1.2) | LUN |
(2) | (2.0) | (2.1) | (2.2) | MAR |
(3) | (3.0) | (3.1) | (3.2) | MER |
(4) | (4.0) | (4.1) | (4.2) | JEU |
(5) | (5.0) | (5.1) | (5.2) | FRI |
(6) | (6.0) | (6.1) | (6.2) | SAM |
6 AM | 2 PM | 10 PM |
Le nombre maximal d'éléments dans un tableau est limité par la mémoire disponible. Les éléments de différents types de données utilisent la mémoire différemment, comme illustré ci-dessous :
- Les éléments entier (Integer) utilisent 2 octets.
- Les éléments de nombres réels utilisent 4 octets.
- Les éléments de chaîne de caractères (STRING) utilisent 6 octets.
Format de ligne
Le format de ligne pour ST BASIC est le suivant :
line-number label: statement :statement :'remark |
L'étiquette facultative peut être utilisée à la place des numéros de ligne comme descripteur de ligne dans une instruction GOTO ou GOSUB.
Conventions de nom de fichier
Les lignes de programme ST BASIC utilisent l'extension .BAS pour les identifier en tant que programmes BASIC. Les noms de fichiers ne peuvent pas dépasser 8 caractères et ils peuvent utiliser une extension de 3 caractères maximum. Par exemple, le nom de fichier FILENAME.DAT est un nom de fichier valide.