| ABS (< expression numérique >) ou « expression numérique » est une valeur entière ou réelle. Définition : La valeur absolue d'un nombre « a » est celui des deux nombres a et -a qui est le plus grand. La fonction « ABS » donne la valeur absolue de l'expression entre parenthèses. Exemples : ABS( -32.5) = 32.5 ABS(-1456) = 1456 ABS(32.5) = 32.5 ABS(3.2 E 12) = 3.2 E 12 |
| |
| < Argument 1> AND < Argument 2> Exécute un « ET » logique entre tous les bits des deux arguments entiers fournis. La table de vérité de la fonction AND au niveau bit est la suivante : Exemple : 1 0 1 1 1 1 0 0 &BC AND 0 1 1 1 1 1 0 1 &7D = 0 0 1 1 1 1 0 0 &3C |
| ATN (< expression numérique >) où « expression numérique » est une valeur réelle. Définition : Correspondance réciproque de la fonction tangente. ATN(x) = b où b est compris entre -pi/2 et pi/2 et tel que TAN(b) = x. Remarques : a) Les commandes « DEG » et « RAD » peuvent être utilisées pour spécifier que le résultat doit être exprimé en degrés ou en radians. b) Par défaut, la valeur sera calculée en radians. |
| BIN$ (cnombre entier sans signe>[, ]) Donne l'équivalent binaire (base 2) d'un nombre entier décimal (base 10) sur un nombre de digit (de chiffres) indiqué par le paramètre optionnel. Ce nombre peut varier entre 0 et 16. Le nombre à convertir doit être compris entre -32768 et 65535. Exemple : BIN$(-3,8) = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 BIN$(3,8) = 0 0 0 0 0 0 1 1 BIN$(3,16) = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 Remarque : _ Le codage binaire d'un nombre négatif se fait de la façon suivante : -n = n + 1 sur 16 bits. Exemple : n = 3 sur 16 bits : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 _ n 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 n + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 Ainsi, on a BIN$(-1) : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 |
| |
| CINT (< expression numérique >) Conversion d'une valeur numérique réelle en une valeur numérique entière arrondie entre -32768 et 32767.
|
Utilisation | Si vous êtes un peu déconcerté devant l'abondance des instructions permettant d'extraire les parties fractionnaires ou entières d'un nombre réel, voici un programme qui pourra vous fixer les idées sur leur utilisation :100 REM INT,CINT,CREAL,FIX,ROUND sans argument secondaire 110 : 120 MODE 2 130 PRINT "Test de INT,CINT, CREAL, FIX et ROUND sans argument secondaire" :PRINT:PRINT 140 INPUT "Entrez un nombre"; N 150 PRINT 160 PRINT 'INT ("N") = "INT(N) 170 PRINT 'CINT ("N") = "CINT(N) 180 PRINT 'CREAL ("N") = "CREAL(N) 190 PRINT 'FIX ("N") = "FIX(N) 200 PRINT 'ROUND ("N") = "ROUND(N) 210 PRINT 220 LOCATE 1,20:INPUT "Un autre essai (O/N):" ; R$ 230 IF UPPER$(R$)< > "O" AND UPPER$(R$)< > "N" THEN PRINT CHR$(7):GOTO 220 240 IF UPPER$(R$) = "O" THEN 100 250 ENDLigne 130 : Saisie du nombre réel à convertir Lignes 140 à 210 : Affichage du résultat des fonctions INT, CINT, CREAL, FIX et ROUND. Lignes 220 à 240 : Poursuite ou arrêt du programme. |
| COS (< expression numérique>) Définition : Rapport du côté adjacent sur l'hypoténuse. Remarques : a) Les commandes « DEG » et « RAD » peuvent être utilisées pour spécifier que le résultat doit être exprimé en degrés ou en radians. b) Sauf indication contraire, la valeur sera calculée en radians. |
| |
| CREAL (< expression numérique >) ou « expression numérique » est un entier ou un réel. Convertit l'expression numérique en un nombre réel. Reportez-vous à la fonction « CINT » pour avoir des renseignements sur l'utilisation de « CREAL ». |
| |
| DEF FN < nom > [( < paramètre(s) formel (s))] =< expression > La fonction DEF FN permet de définir simplement une fonction mathématique qui sera utilisée dans la suite du programme. Le but de cette fonction est double : - Exécuter une seule fois la définition de cette formule et l'utiliser par la suite sous forme réduite (gain de place et de temps d'exécution),
- permettre à un utilisateur non programmeur de définir simplement la fonction qui l'intéresse.
|
Utilisation | Soit une fonction mathématique dont nous voulons connaître les minimum et maximum dans un intervalle donné.1000 REM Recherche du minimum et du maximum 1010 REM d'une fonction sur un intervalle donne 1020 REM 1050 CLS:PRINT"Tapez 1150 DEF FNA(X) = " 1060 PRINT"suivi de la foncion a etudier" 1070 PRINT'Tapez ensuite RUN 1100" 1080 STOP 1100 REM Saisie de l'intervalle d'etude 1110 PRINT:PRINT"Entrez l'intervalle d'etude:" 1120 PRINT:INPUT "Minimum";MI 1130 PRINT:INPUT "Maximum";MA 1140 REM 1150 DEF FNA(X) = COS(X) 1160 REM 1170 U= -1E+15:V=1E + 15 1180 FOR X = MI TO MA STEP (MA - MI)/100 1190 B = FNA(X) 1200 IF B>U THEN U = B 'Maximum 1210 IF B1220 NEXT X 1230 REM 1240 REM Affichage des résultats 1250 PRINT:PRINT"Le maximum est :";U 1260 PRINT:PRINT"Le minimum est :";V 1270 ENDLignes 1050 à 1080 : Présentation, Lignes 1100 à 1140 : Saisie de l'intervalle d'étude, Ligne 1150 : Définition de la fonction, Lignes 1160 à 1230 : Calcul des minimum et maximum, Lignes 1240 à 1270 : Affichage des minimum et maximum. |
| |
| DEG Etablit le mode de calcul des fonctions trigonométriques en degrés. Par défaut, les valeurs fournies aux fonctions SIN, COS, TAN et ATN sont supposées exprimées en radians. Remarque : Les commandes RAD, NEW, CLEAR, LOAD, RUN, CALL 0, ... annulent l'effet de la commande « DEG ». |
| |
| EXP (< expression numérique >) Donne l'exponentielle naturelle (base e) de l'expression numérique fournie. Remarques : a) Pour calculer la puissance dans une base autre que e, (soit a cette base), nous ferons : a^x = e^(x * LOG(a)) où LOG est le logarithme népérien. b) La fonction réciproque de EXP est le logarithme népérien LOG. |
| |
| FIX (< expression numérique >) Enlève la partie décimale d'un nombre réel sans l'arrondir à sa valeur la plus proche. Reportez-vous à la fonction « CINT » pour avoir des renseignements sur l'utilisation de « CREAL ». |
| |
| HEX${< nombre entier sans signe>, [,< nombre entier>]) Le 1er argument est un nombre entier compris entre - 32768 et 65535. Le 2e argument est un nombre entier compris entre 0 et 16. Il donne le nombre de digit (chiffres) pour la conversion. Exemples : HEX$(250,4) = OOFA : Des « 0 » sont rajoutés à gauche du nombre exprimé en hexadécimal pour obtenir le nombre de digit demandé. HEX$(250,1 ) = FA : Impossible à exprimer sur 1 digit. HEX$(250,16) = 00000000000000FA |
| |
| INT (< expression numérique >) où « expression numérique » est un entier ou un réel. Arrondit à l'entier inférieur en enlevant la partie décimale. Le résultat est le même que pour la fonction « FIX » pour les nombres positifs, et de un inférieur à la fonction « FIX » pour les nombres négatifs. Reportez-vous à la fonction « CINT » pour avoir des renseignements sur l'utilisation de « CREAL ». |
| |
| LOG (< expression numérique >) Définition : Soit x un nombre strictement positif écrit sous la forme x = a^y où : - a est un réel différent de 1,
- y est appelé le logarithme de x dans la base a.
Dans le BASIC de l'AMSTRAD, la base est e pour la fonction « LOG » et 10 pour la fonction « LOG 10 ». Remarque : L'expression numérique fournie à la fonction LOG doit être strictement positive. |
| |
| LOG 10 (< expression numérique >) D'après la définition donnée à la fonction LOG du logarithme en base a, nous avons, pour tout nombre réel x strictement positif : x= 10^y -> y = LOGIO (x) Remarque : L'expression numérique fournie à la fonction LOG doit être strictement positive. |
| |
| MAX (< liste d'expressions numériques >) où « liste d'expressions numériques » représente un ensemble de variables ou de valeurs entières ou réelles. Cette fonction donne la plus grande des expressions fournies. Exemple : 10 A = 4 20 PRINT MAX(3*4,A,1)affichera 12. |
| |
| MIN(< liste d'expressions numériques >) où « liste d'expressions numériques » représente un ensemble de variables ou de valeurs entières ou réelles. Cette fonction donne la plus petite des expressions fournies. Exemple : 10 A = 4 20 PRINT MIN(3*4,A,1)affichera 1. |
| |
| NOT < argument > Exécute une inversion logique sur tous les bits de l'argument entier fourni. La table de vérité de la fonction NOT au niveau bit est la suivante : Exemple : 1 0 1 1 1 1 0 0 &BC NOT &BC = 0 1 0 0 0 0 1 1 &43 |
| |
| < Argument 1 > OR < Argument 2> Exécute un « OU » logique entre tous les bits des deux arguments entiers fournis. La table de vérité de la fonction OR au niveau bit est la suivante : Exemple : 1 0 1 1 1 1 0 0 &BC OR 0 1 1 1 1 1 0 1 &7D 1 1 1 1 1 1 0 1 &FD |
| |
| PI Définition : Rapport de la longueur d'un cercle à son diamètre. C'est un nombre irrationnel transcendant. Le nombre « PI » sur AMSTRAD donne la valeur approchée du nombre PI : 3.141592653468251. Remarque : Les valeurs rationnelles suivantes peuvent suffire dans beaucoup de cas : 22/7 à 2* 10^ - 3 près, et 315/113 à 3*10^ - 7 près. |
| |
| RAD Définition : Arc dont la longueur égale le rayon du cercle (le cercle entier mesure 2 pi radians). Cette commande établit le mode de calcul des fonctions trigonométriques en radians. Remarque : On a 1 radian = 180/pi degrés, et 1 degré = pi/180 radians. |
| |
| RANDOMIZE [< expression numérique> ] Cette instruction permet de fixer la séquence pseudo-aléatoire du générateur de nombres aléatoires de l'AMSTRAD. Lorsque vous désirez utiliser le générateur aléatoire dans un programme, l'instruction « RANDOMIZE » permet d'avoir des séquences aléatoires différentes. Si vous utilisez l'argument « expression numérique », la séquence générée sera la même si vous fournissez deux fois le même argument. Pour fixer l'argument du « RANDOMIZE », vous pouvez demander à la personne qui exécute le programme d'entrer un nombre N, et faire RANDOMIZE N, ou utiliser l'un des programmes suivants qui vous évitera cette démarche un peu lourde. Attente de l'appui sur une touche. Pendant l'attente, un compteur s'incré-mente. Quand une touche est actionnée, le programme génère un RANDOMIZE .120 CLS:PRINT « Appuyez sur une touche »:PRINT 130 : 140 A$ = INKEY$ 150 J = J+1 160 IF A$ = ""THEN 140 170 : 180 RANDOMIZE J 190 : 200 FOR I=1 TO 10 210 PRINT INT(RND*10) ; 220 NEXT I 230 : 240 ENDLigne 120 : Message à l'écran Lignes 140 à 160 : Attente d'une action au clavier Ligne 180 : RANDOMIZE Lignes 200 à 230 : Affichage d'une séquence pseudo-aléatoire.Utilisation de l'instruction « TIME » dans un RANDOMIZE : L'instruction « RANDOMIZE TIME » donne d'assez mauvais résultats, et une expression un peu plus complexe a été choisie. 120 RANDOMIZE RND(TIME)* 1000 130 FOR 1=1 TO 10 140 PRINT INT(RND^10) ; 150 NEXT I 160 : 170 ENDLigne 120 : RANDOMIZE Lignes 130 à 150 : Affichage d'une séquence pseudo-aléatoire. |
| |
| RND[ < expression numérique >] Donne un nombre tiré au hasard dans la séquence pseudo-aléatoire courante si le paramètre « expression numérique » n'existe pas ou est positif. Si l'expression numérique est nulle, RND(0) renvoie le dernier nombre tiré. Si l'expression numérique est négative, une nouvelle séquence aléatoire est générée. |
| |
| ROUND (< expression numérique >[, < nombre de décimales >]) Arrondit l'expression numérique au nombre de décimales indiqué dans le deuxième argument. Si le deuxième argument est négatif et de valeur absolue n, l'expression est arrondie à un entier dont les n derniers chiffres sont nuls. Exemple : ROUND( 12343.656, - 3) = 1 2000 ROUND(12343.656,2) = 12300 ROUND(12343.656,0) ou ROUND (12343.656) = 12344 ROUND( 125, - 4) = 0Reportez-vous à l'ordre « CINT » pour avoir des exemples de valeurs de ROUND. |
| |
| SGN(< expression numérique >) Donne le signe de l'expression numérique : — 1 si elle est négative, 0 si elle est nulle et 1 si elle est positive. Exemples : SGN( —12.5)= -1 SGN(0) = 0 SGN (1.4E30) = 1 |
| |
| SIN (< expression numérique >) Définition : Pour un angle aigu, rapport du côté opposé sur l'hypoténuse. Remarques : a) Les commandes « DEG » et « RAD » peuvent être utilisées pour spécifier que le résultat doit être exprimé en degrés ou en radians. b) Sauf indication contraire, la valeur sera calculée en radians. |
| |
| SQR (< expression numérique >) où « expression numérique » est un nombre entier ou réel. Définition : a est appelé racine d'un nombre A si a^2 = A. Cette fonction donne la racine d'un nombre réel ou entier. |
| |
| TAN (< expression numérique >) Définition : Rapport du sinus sur le cosinus. SIN = BC/AC et COS = AB/AC, d'où TAN = SIN/COS = (BC/AC)/(AB/AC) = BC/AB Remarques : a) Les commandes « DEG » et « RAD » peuvent être utilisées pour spécifier que le résultat doit être exprimé en degrés ou en radians. b) Sauf indication contraire, la valeur sera calculée en radians. |
| |
| UNT(< nombre hexadécimal >) Convertit l'argument en un nombre entier signé sur 16 bits en complément à 2. Exemples : UNT(&FFFF) = -1 UNT(&FFFE) = -2 UNT(0) = 0 Définition du complément a 2 : _ on a -n = n + 1 où n est un entier positif par exemple : _ -3 = 3+1 3 = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 _ 3 = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 3 + 1 = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 = &FFFD en hexadécimal |
| |
| < Argument 1 > XOR < Argument 2 > Exécute un « OU EXCLUSIF » logique entre tous les bits des deux arguments entiers fournis. La table de vérité de la fonction XOR au niveau bit est la suivante : Exemple : 1 0 1 1 1 1 0 0 &BC XOR 0 1 1 1 1 1 0 1 &7D = 1 1 0 0 0 0 0 1 &C1 |