Le jeu des chiffres

GW-BASIC (PC-BASIC)

Initiation au langage Basic

Votre ordinateur comprend plusieurs fonctions mathématiques avancées. Cette section donne un aperçu des fonctions et montre comment les utiliser.

Avant de continuer, cependant, vous devez connaître quelques fonctions et définitions décrites ci-dessous.

Exponentiation

^

Rapide! Qu'est-ce que 1,5 au carré ? Que diriez-vous de 77 au cube ? Si vous ne savez pas. demander à l'ordinateur. Chaque fois que vous souhaitez élever un nombre à la puissance n, suivez ce format :

nombre (^) puissance

nombre est la base (le nombre que vous souhaitez élever à la puissance n, il peut s'agir de n'importe quelle expression numérique.

La puissance est l'exposant auquel la base est élevée. Il peut s'agir de n'importe quelle expression numérique.

Remarque : L'exponentiation a priorité sur les autres opérateurs. Par exemple, si l'ordinateur calcule - 2^2, le résultat est un nombre négatif. Pour élever - 2 à la puissance 2d "correctement" (ce qui donne un nombre positif), mettez - 2 entre parenthèses.

Commencez par 77 au cube (77^3). Après avoir regardé le bloc de syntaxe, pouvez-vous donner la commande ? Votre réponse devrait être 456533.

Si votre écran ressemble à ceci, vous êtes sur la bonne voie :

PRINT 77^3
456533
Ok 

Essayez d'élever 10 à la puissance 10. L'écran affiche :

 1E+10

Puisque 10 000 000 000 a plus de 9 chiffres significatifs, l'ordinateur est passé à la notation E.

Que diriez-vous de 100 à la puissance 100?

L'écran affiche-t-il un Overflow (débordement) ?

Overflow
1.701412E+38
Ok  

Cela signifie que la réponse est trop grande pour que l'ordinateur puisse la gérer. Tout ce qui se trouve en dehors de la plage provoque une erreur de dépassement, soit

entier 2 bytes -32768—32767

virgule flottante simple précision 4 bytes ±2.938726·10-39—±1.701412·1038

virgule flottante double précision 8 bytes ±2.938735877055719·10-39—±1.701411834604692·1038

Programme faites-le vous même

Écrivez un programme court qui affiche le carré de chaque nombre entier de 1 à 10.

5 CLS
10 FOR NUMBER = 1 TO 10
20 PRINT NUMBER^2
30 NEXT NUMBER

SQR

SQR vous permet de trouver la racine carrée d'un nombre. Voici sa syntaxe :

SQR (nombre)

nombre est zéro ou n'importe quel nombre positif.

Par exemple, si vous voulez la racine carrée de 100, tapez :

PRINT SQR(100)

et vous découvrirez (si vous ne le saviez pas déjà) que la réponse est 10.

Écrivez un autre programme court pour afficher la racine carrée de chaque dixième nombre de 100 à 0.

5 CLS
10 FOR NUMBER = 100 TO 1 STEP -10
20 PRINT SQR(NUMBER)
30 NEXT NUMBER

Fonctions trigonométriques

Regardez ce triangle. Vous l'utiliserez tout au long de la discussion sur les fonctions trigonométriques.

La trigonométrie a de nombreuses applications pratiques. Par exemple, imaginez que votre triangle est en fait le toit d'une maison que vous construisez. Les fonctions trigonométriques peuvent vous aider à déterminer soit la longueur des chevrons, soit la pente du toit (la « pente »). Donc, si les mathématiques vous rebutent mais que construire des choses vous excite, cette section pourrait être exactement ce que vous cherchez.

Notez que nous avons étiqueté les angles avec le préfixe A et les côtés avec le préfixe S. L'angle A, par exemple, est AA ; le côté opposé est SA.

En utilisant le triangle, nous pouvons définir les fonctions trigonométriques communes de la manière suivante :

Sinus de AA = SIN (AA) = SA/SC
Cosinus de AA = COS (AA) = SB/SC
Tangente de AA = TAN (AA) = SA/SB

Degrés vs Radians

Pour définir un angle, vous pouvez utiliser l'une des deux unités de mesure. L'unité la plus courante est le degré; l'unité "plus technique" est le radian.

Votre ordinateur suppose que tous les angles sont mesurés en radians. Étant donné que les radians peuvent vous être quelque peu étrangers, vous pouvez les convertir en degrés (et vice versa) de cette façon :

Voici un cercle avec les angles en degrés et en radians:

Degrés en Radians : Degrés / 57,29577951 (Deg/(180/π)) = deg * π/180
Radians en Degrés : Radians * 57.29577951 (Rad*(180/π)) = rad / π/180

0 degré = 0 radians et 90 degré = π/2 (π/2 = 1,57)

Les exemples de programmes de ce chapitre incluent un "convertisseur" qui prend les degrés que vous avez saisis et les convertit automatiquement en radians (et vice versa dans certains cas).

SIN

Cela se prononce sinus.

Sa syntaxe est :

SIN (angle)

angle est la taille de l'angle en radians.

Étant donné la longueur d'un côté et les tailles de deux angles, vous pouvez utiliser SIN pour déterminer les longueurs des autres côtés.

Entrez et exécutez le programme suivant, en saisissant toutes les valeurs.

5 CLS
10 INPUT "QUEL EST L'ANGLE A (AA)"; AA: IF AA<=0 OR AA>=180 THEN 100
20 INPUT "QUEL EST L'ANGLE (AB)"; AB: IF AA <=0 OR AB >=180 THEN 100
30 INPUT "QUEL EST LE COTÉ (SC)"; SC: IF SC <=0 THEN 100
40 AC = 180-(AA+AB) 'VALEUR DE L'ANGLE AC
50 IF (AA+AB+AC) < > 180 THEN 100 'TRIANGLE=180 DÉGRÉES
60 AA=AA/57.29577951: AB=AB/57.29577951:AC=AC/57.29577951 'CONVERTIR DES DEGRÉS EN RADIANS
70 SA=((SIN(AA))/(SIN(AC))) * SC: IF SA<0 THEN 100
80 SB=((SIN(AB))/(SIN(AC))) * SC: IF SB<0 THEN 100
90 PRINT "COTÉ A (SA) EST " SA "DE LONG": PRINT "COTÉ (SB) EST " SB "DE LONG": GOTO 10
100 PRINT "DÉSOLÉ. CE N'EST PAS UN TRIANGLE. RÉESSAYER": GOTO 10

Lorsque l'ordinateur vous demande AB et AC. entrer les degrés des angles. Si vous entrez un nombre négatif ou un nombre supérieur ou égal à 180, l'ordinateur passe à la ligne 100. Il imprime ensuite le message et demande à nouveau les tailles.

Si vous entrez un nombre négatif pour Sc, il fait LA même chose.

Puisque vous ne connaissez pas la taille de AC, l'ordinateur la calcule automatiquement à la ligne 40. Si la somme des trois angles n'est pas égale à 180 degrés, l'ordinateur prend les mesures appropriées dans la ligne 50. La ligne 60 convertit les degrés en radians pour que l'ordinateur puisse effectuer les calculs de sinus.

Ondes sinusoïdales

Vous avez peut-être déjà vu des ondes sinusoïdales. Ils sont utilisés pour indiquer le courant alternatif et d'autres conditions électriques. Exécutez le programme suivant pour voir une onde sinusoïdale "à défilement horizontal"

1 '*** Onde sinusoïdale ***
10 CLS
15 SCREEN 7
20 LINE (0,86)-(255,86)
25 PI=3.141592
30 A1 =-4*PI
35 A2=4*PI
40 N=180
45 R=50
50 X= (A2-A1) /N
55 F=255/(A2-A1)
60 FOR I =A1 TO A2 STEP X
65 X=I*F
70 Y=R*SIN(I)
75 PSET ((X+140),(80+Y))
80 NEXT I
90 GOTO 90

COS

La fonction cosinus est liée à la fonction sinus et a la syntaxe est la suivante :

Cos (angle)
angle EST la taille de l'angle en radians.

Étant donné les longueurs de deux côtés sans la taille d'un angle, vous pouvez utiliser le cosinus pour déterminer la longueur du troisième côté d'un triangle, comme illustré ici :

5 CLS
10 INPUT "QUEL EST L'ANGLE C (AC)"; AC:IF AC<=0 OR AC>=180 THEN 100
20 AC=AC / 57.29577951'CONVERTIR DES DEGRÉS EN RADIANS
30 INPUT "QUEL EST LE COTÉ A (SA)"; SA:IF SA<=0 THEN 100
40 INPUT "QUEL EST LE COTÉ B (SB)"; SB:IF SB=<0 THEN 100
50 SC = ((SA^2)+(SB^2))-(2*(SA*SB*COS(AC))): IF SC<0 THEN 100
60 PRINT "COTÉ C (SC} EST " SQR(SC) "DE LONG":GOTO 10
100 PRINT "DÉSOLÉ, CE N'EST PAS UN TRIANGLE. RÉESSAYER": GOTO 10

5 CLS
10 FOR A = -180 TO 179 STEP 10
15 RD=A/57.29577951
30 CP=COS(RD)*14+16.5 'COS POSITION
40 SP=SIN(RD)*14+16.5 'SIN POSITION
50 IF SP<=CP THEN 70
60 PRINT TAB(CP); "C";TAB(SP);"S": GOTO 80
70 PRINT TAB(SP) ;"S" ;TAB(CP) ;"C"
80 NEXT A
90 GOTO 10

Programme faites-le vous même

Le cosinus peut faire des courbes par lui-même. Réécrivez le programme "Onde sinusoïdale" afin qu'il trace COS au lieu de SIN. Quelle est la différence entre les deux ?

TAN
La troisième fonction trigonométrique, TAN, permet de calculer la tangente d'un angle. Voici sa syntaxe :

TAN (angle)

angle est la taille de l'angle en radians.

Vous pouvez utiliser TAN pour déterminer, entre autres, un côté d'un triangle, étant donné un autre côté et un angle.

Entrez et exécutez ce programme :

5 CLS
10 INPUT "QUEL EST LE COTÉ B (SB)"; SB:IF SB<=0 THEN 100
20 INPUT "QUEL EST L'ANGLE A (AA)"; AA:IF AA<=0 OR AA>=180 THEN 100
30 AA=AA/57.28577851 'CONVERTIR DES DEGRÉS EN RADIANS
40 SA=SB*(TAN(AA)): IF SA<=0 THEN 100
50 PRINT "COTÉ A (SA) EST " SA "DE LONG":GOTO 10
100 PRINT "DÉSOLÉ, CE N'EST PAS UN TRIANGLE. RÉESSAYER": GOTO 10

La clé de ce programme, bien sûr, est la ligne 40, où la tangente de AA est multipliée par la longueur de SB pour déterminer la longueur de SA.

ATN

ATN (arc tangente) est l'inverse de TAN et a la syntaxe suivante :

ATN (angle)
angle est la taille de l'angle en radians.

Le programme suivant utilise ATN et TAN pour calculer deux angles inconnus d'un triangle lorsque deux côtés et un angle sont connus.

10 CLS
20 INPUT "QUEL EST LE COTÉ A (SA)"; SA:IF SA<=0 THEN 150
30 INPUT "QUEL EST LE COTÉ C (SC)"; SC:IF SC<=0 THEN 150
40 INPUT "QUEL EST L'ANGLE B (AB)"; AB:IF AB<=0 OR AB>=180 THEN 150
50 X=(180-AB) 'AA+AC=180-AB
60 X=X/57.28577851 'CONVERTIR DES DEGRÉS EN RADIANS
70 Y=((SA-SC)/(SA+SC))*TAN(X/2)
80 Z=ATN(Y)
90 AA=(X/2)+(Z)
100 AC=(X/2)-(Z)
110 AA=AA*57.29577951 'CONVERTIR DES DEGRÉS EN RADIANS
120 AC=AC*57.29577951 'CONVERTIR DES DEGRÉS EN RADIANS
130 PRINT "ANGLE A (AA) EST " AA "DÉGRÉES"
140 PRINT "ANGLE C (AC) EST " AC "DÉGRÉES":GOTO 20
150 PRINT "DÉSOLÉ, CE N'EST PAS UN TRIANGLE. RÉESSAYER": GOTO 20

TAN ((AA-AC)/2) est égal à ((SA-SC)/(SA + SO) * TAN ((AA + ACl/2). Notez également qu'il a fallu convertir les radians "de l'ordinateur" en "vos" degrés (Lignes 110 et 120).

LOG

LOG renvoie le logarithme naturel d'un nombre. C'est l'inverse de EXP, donc X = LOC(EXP(X)). Voici la syntaxe de LaC :

LOG (nombre)
nombre est supérieur à zéro.

Le logarithme d'un nombre est la puissance à laquelle une "base" donnée doit être élevée pour obtenir le résultat du nombre.

Les "LOG" sont utiles dans les problèmes scientifiques et mathématiques. Dans la fonction LOG, si vous omettez la base, l'ordinateur suppose que vous spécifiez Base e (2.718281828).

Pour trouver le logarithme d'un nombre 10 d'une autre base, B. utilisez cette formule :

LOG base B (x) = LOG e (x) / LOG e (B)

Par exemple. LOG (32768)/LOG(2) renvoie le logarithme 10 Base 2 de 32768. (Il renvoie la puissance à laquelle 2 est élevé pour obtenir 32768.)

Essayez ceux-ci :

PRINT LOG(1)
PRINT LOG (100)
PRINT LOG (2.718281828)

Calculez le LOG de chacun des nombres suivants :
a) 1003 b) 74,9865 c) 3,354285

a.) ?LOG (1003)
6.910751

b.) ?LOG(74.8865)
4.315974

c,) ? LOG(3.354285)
1.210239

Calculez le log à Base de chacun des nombres suivants :

a) 1 b)10 c) 100
d) 500 e) 0.1 f) 1001
log e x
Hint: log 10 x =
log e 10

5 CLS
10 INPUT "QUEL NOMBRE "; NUMBER
15 X=LOG(NUMBER)/LOG(10)
20 PRINT "LE LOG BASE 10 DE" NUMBER "EST" X
25 GOTO 10

a.) 0

Remarque : Le log de 1 dans n'importe quelle base est 0.

b.) 1
c.) 2
d.) 2.69897
e.) - 1
f.) 3.000435

EXP

La fonction EXP renvoie l'exponentielle naturelle d'un nombre (enombre).

EXP est l'inverse de LOG ; donc X = EXP(LOG(X)). Voici la syntaxe d'EXP :

EXP (nombre)
nombre est inférieur à 87,3365.

Exécutez ce programme pour voir EXP au travail.

10 CLS
20 INPUT "ENTREZ X"; X
30 PRINT "EXP(X)=" ; EXP(X)
40 GOTO 20

FIX

C'est impressionnant quand votre ordinateur porte un nombre jusqu'à 9 chiffres significatifs, surtout quand 8 de ces nombres sont à droite de la virgule décimale.

Cependant, parfois, vous ne voudrez peut-être pas tous ces chiffres ; vous ne voudrez peut-être que la partie entière (le nombre à gauche de la virgule décimale).

FIX vous permet de geler ce nombre entier en coupant simplement tous les chiffres à droite de la virgule décimale. Voici la syntaxe de FIX :

FIX (nombre)

Par exemple, tapez :

PRINT FIX (2.26413851)

Le résultat est
2
Ok 

Voici un programme qui décompose un nombre en ses parties entières et fractionnaires.

10 CLS
20 INPUT"UN NOMBRE COMME X.YZ" ; X
30 W=FIX(X)
40 F=ABS (X) -ABS (W)

50 PRINT"LA PARTIE ENTIERE EST ";W
60 PRINT"LA PARTIE FRACTIONNELLE EST "; F
70 GOTO 20

INT

Pour tronquer une expression à un nombre entier.

Syntaxe:
INT(x)

Les nombres négatifs renvoient le nombre le plus bas suivant.

Les fonctions FIX et CINT renvoient également des valeurs entières.

Exemples:

PRINT INT(98. 89)
98

PRINT INT(-12. 11)
-13

SGN

Pour retourner le signe de x.

Syntaxe:

SGN(x)

x est une expression numérique quelconque.

Si x est positif, SGN(x) renvoie 1.

Si x vaut 0, SGN(x) renvoie 0.

Si x est négatif, SGN(x) renvoie -1.

Cette instruction est similaire, mais pas la même que SIN(x), qui renvoie une fonction trigonométrique en radians, plutôt qu'en uns et zéros.

Exemples:

10 INPUT "Entrez une valeur", x
20 ON SGN(X)+2 GOTO 100, 200, 300

GW-BASIC passe à 100 si X est négatif, 200 si X est 0 et 300 si X est positif.

DEF FN

GW-BASIC a une fonction numérique, DEF FN, qui ne ressemble à aucune autre dont nous avons parlé jusqu'à présent. DEF FN vous permet de créer votre propre fonction mathématique.

Vous pouvez utiliser votre nouvelle fonction de la même manière que n'importe quelle fonction disponible (SIN, COS, TAN, etc.). Une fois que vous avez utilisé DEF FN pour définir une fonction, vous pouvez la mettre en œuvre dans votre programme en attachant le préfixe FN au nom que vous attribuez à la nouvelle fonction.

Voici la syntaxe pour DEF FN :

DEF FN nom (liste de variables) - le nom de la formule est le nom que vous attribuez à la fonction que vous créez.

La liste des variables contient une "variable factice" pour chaque variable à utiliser par la fonction.

La formule définit l'opération sur les termes des variables données dans la liste des variables.

Remarque : Les noms de variable qui apparaissent dans la formule servent uniquement à définir la formule ; elles n'affectent pas les variables de programme portant le même nom. Vous ne pouvez avoir qu'un seul argument dans un appel de formule, par conséquent, DEF FN ne doit contenir qu'une seule variable.

Vous ne pouvez utiliser DEF FN que dans un programme, pas dans le mode l'immédiat.

Par exemple, une opération mathématique que vous avez dû utiliser plusieurs fois dans cette ection est la conversion degré-radian. Ne serait-il pas agréable que l'ordinateur le fasse pour vous ?

Si vous modifiez l'exemple de programme que nous avons utilisé pour ATAN, vous verrez comment créer un DEF FN qui convertit les degrés en radians.

7 DEF FNR(X)=X/57.29577951
60 X=FNR(X):
110 AA=FNR(AA): AC=FNR(AC)

Effacez la ligne 120.

7 DEF FNR(X)=X/57.29577951
10 CLS
20 INPUT "QUEL EST LE COTÉ A (SA)"; SA:IF SA<=0 THEN 150
30 INPUT "QUEL EST LE COTÉ C (SC)"; SC:IF SC<=0 THEN 150
40 INPUT "QUEL EST L'ANGLE B (AB)"; AB:IF AB<=0 OR AB>=180 THEN 150
50 X=(180-AB) 'AA+AC=180-AB
60 X=FNR(X):
70 Y=((SA-SC)/(SA+SC))*TAN(X/2)
80 Z=ATN(Y)
90 AA=(X/2)+(Z)
100 AC=(X/2)-(Z)
110 AA=FNR(AA): AC=FNR(AC)
130 PRINT "ANGLE A (AA) EST " AA "DÉGRÉES"
140 PRINT "ANGLE C (AC) EST " AC "DÉGRÉES":GOTO 20
150 PRINT "DÉSOLÉ, CE N'EST PAS UN TRIANGLE. RÉESSAYER": GOTO 20

Vous pouvez voir tout de suite combien cela économise en tapant, puisque vous n'avez dû entrer 57.29577951 qu'une seule fois. Chaque fois que FNR est appelé en cours d'utilisation, l'ordinateur insère automatiquement les valeurs que vous avez utilisées et effectue l'opération prescrite.

Programme faites-le vous même

Utilisez DEF FN pour :

1. Convertissez les radians en degrés.
2. Créez une fonction mathématique qui décompose les nombres.

1. ) DEFFNR (X) = X*57. 28577851

2. )

5 CLS
10 DEF FNC(X) = X^3
20 INPUT "QUEL NOMBRE VOULEZ-VOUS METTRE AU CUBE ";X
30 X=FNC(X)
40 PRINT X
50 FOR A = 1 TO 75
55 NEXT A
610 GOTO 20

Voici un résumé des fonctions trigonométriques

Veuillez noter que les informations ci-dessus peuvent ne pas être exhaustives.

Certaines valeurs spéciales sont mathématiquement indéfinies, mais nos fonctions peuvent fournir des valeurs non valides :

TAN et SEC de 90 et 270 degrés
COT et SCS de 0 et 180 degrés

Les autres valeurs qui ne sont pas disponibles de ces fonctions sont :

ARCSIN(-1) = -PI/2
ARCSIN( 1) = PI/2
ARCCOS(-1) = PI
ARCCOS( 1) = 0
ARCSEC(-1) = -PI
ARCSEC( 1) = 0
ARCCSC(-1) = -PI/2
ARCCSC( 1) = PI/2

 

 

 

 

 

 

 

Recherche personnalisée