Les premiers pas
GW-BASIC (PC-BASIC)
Vous pouvez installer PC-BASIC pour programmer en Basic.
PC-BASIC-2.0.6
(Pour Windows 11 et
antérieur)
Donnez à l'ordinateur votre première commande.
Tapez ceci exactement tel qu'il est ci-dessous :
PRINT "Allo je suis ton ordinateur!"
Vérifiez maintenant votre ligne. Avez-vous mis les guillemets là où nous les avons mis?
Si vous avez fait une erreur, pas de problème. Appuyez simplement sur la touche ← (Backspace) et le dernier caractère saisi disparaît.
Appuyez à nouveau dessus et l'avant-dernier disparaît (. .. et ainsi de suite et ainsi de suite ...).
Appuyez sur la touche ENTER et regardez. Votre ÉCRAN devrait ressembler à ceci :
OK
PRINT "Allo je suis ton ordinateur!"
Allo je
ton ordinateur!
OK
Votre ordinateur vous a juste obéi en imprimant le message que vous avez entré entre guillemets. Demandez-lui d'afficher un autre message.
Taper:
PRINT "2"
Appuyez sur ENTER. L'ordinateur vous obéit à nouveau
et affiche votre message suivant :
2
Essayez-en une autre :
PRINT "2 + 2" ENTER
L'ordinateur vous obéit en imprimant :
2 + 2
Vous attendez sans doute bien plus qu'une mimique électronique... peut-être des réponses ! Donnez à votre ordinateur des chiffres sans les guillemets.
Taper:
PRINT 2 + 2 ENTER
Beaucoup mieux. Cette fois, l'ordinateur affiche la réponse :
4
Les guillemets ont évidemment un sens. Expérimentez avec eux un peu plus. Tapez chacune de ces lignes :
PRINT 5+4 ENTER
PRINT "5+4" ENTER
PRINT "5+4
Egale" 5+4 ENTER
PRINT 6/2 "IS 6/2" ENTER
PRINT "8/2" ENTER
PRINT 8/2
ENTER
Des conclusions sur ce que font les citations?
Tout problème arithmétique est un jeu d'enfant pour l'ordinateur. Faites une longue division.
Taper:
PRINT "3862 Divisé par 13,2 est" 3862/13.2
Faites un problème de multiplication :
PRINT 1588 * 23
Notez que le signe de multiplication de l'ordinateur est un astérisque (*), plutôt que le signe que vous utilisez en mathématiques (X). L'ordinateur est si précis qu'il confondrait le signe de multiplication X avec le caractère alphabétique X.
Essayez quelques problèmes supplémentaires :
PRINT "15 * 2 =" 15*2
PRINT 18 * 18 "Est le carre
de 18"
PRINT 33.3/22.82
Maintenant c'est votre tour. Écrivez deux lignes de commande qui affichent ces deux problèmes ainsi que leurs réponses :
157113.2=
85*43=
Si vous utilisez les "bonnes" lignes de commande, voici ce que l'ordinateur affiche sur votre écran :
157 / 13.2 '" 11.8838384
85 * 43 = 4085
Prêt pour la réponse:
PRINT "157/13.2 =" 157113.2
PRINT "85 * 43 ="
95*1I3
Il a ses règles...
À ce jour, l'ordinateur a probablement imprimé de petits messages amusants sur votre écran. Si ce n'est pas le cas, tapez cette ligne, en orthographiant délibérément mal le mot PRINT.
PRJNT "Allo"
L'ordinateur affiche :
Syntax error
Ok
C'est la façon dont l'ordinateur dit,
"La commande 'PRJNT' n'est pas dans mon vocabulaire... Je n'ai aucune idée de ce que vous voulez que je fasse."
Chaque fois que vous obtenez l'erreur Syntax error, vous avez probablement fait une sorte d'erreur typographique.
L'ordinateur vous donne également des messages d'erreur lorsqu'il ne comprend pas ce que vous voulez qu'il fasse, mais il a l'impression que vous lui demandez de faire quelque chose d'illogique ou d'impossible.
Par exemple, essayez ceci :
PRINT 5/0
L'ordinateur affiche :
Division by zero
Ok
Ce qui signifie "Ne me demandez pas de diviser par 0-c'est impossible !"
Si vous obtenez un message d'erreur que vous ne comprenez pas, allez à l'annexe des erreurs. Nous y avons répertorié tous les messages d'erreur et ce qui les a probablement causés.
C'est aussi un show-off!
La commande SCREEN et COLOR et PLAY
Pour définir les spécifications de d'affichage.
SCREEN
[mode]
SCREEN 0
Mode texte uniquement
Format texte 40 × 25 ou 80 × 25 avec une
taille de boîte de caractères de 8 × 8 (8 × 14 avec EGA)
Affectation de 16 couleurs à l'un des 2
attributs
Affectation de 16 couleurs à l'un des 16
attributs (avec EGA)
SCREEN 1
Graphiques à résolution moyenne de 320 × 200
pixels
Format texte 40 × 25 avec une taille de boîte
de caractères de 8 × 8
Affectation de 16 couleurs à l'un des 4
attributs
Prend en charge à la fois EGA et CGA
2 bits par pixel
SCREEN 2
Graphiques haute résolution 640 × 200 pixels
Format texte 80 × 25 avec une taille de boîte
de caractères de 8 × 8
Affectation de 16 couleurs à l'un des 2
attributs
Prend en charge à la fois EGA et CGA
1 bit par pixel
SCREEN 7
Graphiques à résolution moyenne de 320 × 200
pixels
Format texte 40 × 25 avec une taille de boîte
de caractères de 8 × 8
2, 4 ou 8 pages de mémoire avec
respectivement 64K, 128K ou 256K de mémoire installées sur l'EGA
Affectation de l'une des 16 couleurs à 16
attributs
EGA requis
4 bits par pixel
SCREEN 8
Graphiques haute résolution 640 × 200 pixels
Format texte 80 × 25 avec une taille de boîte
de caractères de 8 × 8
1, 2 ou 4 pages de mémoire avec
respectivement 64K, 128K ou 256K de mémoire installées sur l'EGA
Affectation de l'une des 16 couleurs à 16
attributs
EGA requis
4 bits par pixel
SCREEN 9
Graphiques à résolution améliorée de 640 ×
350 pixels
Format texte 80 × 25 avec une taille de boîte
de caractères de 8 × 14
Affectation soit de 64 couleurs à 16
attributs
(plus de 64K de mémoire EGA), soit de 16
couleurs à 4 attributs (64K de mémoire EGA)
Deux pages d'affichage si 256 Ko de mémoire
EGA sont installés
EGA requis
2 bits par pixel (mémoire EGA 64K) 4 bits par
pixel (mémoire EGA supérieure à 64K)
COLOR [foreground][,[background]
Couleur | |
0 | Noir |
1 | Bleu |
2 | Vert |
3 | Cyan |
4 | Rouge |
5 | Magenta |
6 | Marron |
7 | Blanc |
8 | Gris |
9 | Bleu clair |
10 | Vert clair |
11 | Cyan clair |
12 | Rouge clair |
13 | Magenta clair |
14 | Jaune |
15 | Blanc haute intensité |
Exemple
SCREEN 9
COLOR 1,3 (Caractères Bleu sur fond Cyan)
COLOR 7,1 (Caractères Blancs sur fond Bleu)
COLOR 7,0 (Caractères Blancs sur fond Noir)
Son de l'ordinateur Off, Un, Deux • • •
SOUND freq,durée
freq est la fréquence souhaitée
en Hertz (cycles par seconde).
freq est une expression numérique comprise
entre 37 et 32767.
durée est la durée souhaitée en impulsions d'horloge.
Les tics d'horloge se produisent 18,2 fois par seconde.
durée doit être une
expression numérique comprise entre 0 et 65535.
Les valeurs inférieures à
0,022 produisent un son infini jusqu'à ce que la prochaine instruction SOUND ou
PLAY soit exécutée.
Si la durée est zéro, toute instruction SOUND active
est désactivée.
Si aucune instruction SOUND
n'est en cours d'exécution, une durée de zéro n'a aucun effet.
Le son est
exécuté en avant-plan ou en arrière-plan selon l'instruction PLAY.
Tapez ceci :
SOUND 37,6
Si vous n'entendez rien, augmentez le volume et réessayez.
Ce que vous entendez correspond à 6 secondes de la tonalité la plus basse que l'ordinateur peut émettre.
Qu'en est-il du ton le plus élevé ?
Taper:
SOUND 255,50
Note DO (C)
SOUND 138.810,10
do(C), ré(D), mi(E), fa(F), sol(G), la(A), si(B)
C 130.810 C 523.250
D 146.830 D 587.330
E 164.810 E 659.260
F 174.610 F 698.460
G 196.000 G 783.990
A 220.000 A 880.000
B 246.940 B 987.770
C 261.630 C 1046.500
D 293.660 D 1174.700
E 329.630 E 1318.500
F 349.230 F 1396.900
G 392.000 G 1568.000
A 440.000 A 1760.000
B 493.880 B 1975.500
PLAY
PLAY "MBABCDABCDABCD"
PLAY "L4 ABGD"
A-G [#,+,-]
A-G sont des
notes. # ou + après une note produit un dièse ; - produit un plat.
Toute
note suivie de #, + ou - doit faire référence à une touche noire sur un piano.
L(n)
Définit la longueur de chaque note. L4 est une noire, L1 est une
ronde, et ainsi de suite. n peut être compris entre 1 et 64.
La longueur
peut également suivre la note pour modifier la longueur de cette note
uniquement. A16 est équivalent à L16A.
MF Musique de premier plan. Les
instructions PLAY et SOUND doivent être exécutées au premier plan. C'est-à-dire
que chaque note ou son suivant n'est pas démarré tant que la note ou le son
précédent n'est pas terminé. Il s'agit de la valeur par défaut initiale.
Fond de musique MB. Les instructions PLAY et SOUND doivent s'exécuter en arrière-plan. C'est-à-dire que chaque note ou son est placé dans un tampon permettant au programme BASIC de continuer son exécution pendant que la musique joue en arrière-plan. Jusqu'à 32 notes (ou silences) peuvent être jouées en arrière-plan en même temps.
MN Musique normale. Chaque note joue sept huitièmes du temps déterminé par L (longueur).
ML Music legato. Chaque note joue la période complète définie par L.
MS Musique saccadée. Chaque note joue les trois quarts du temps déterminé par L.
N(n) Joue la note n. n peut varier de 0 à 84. Dans les 7 octaves possibles, il y a 84 notes. n mis à 0 indique un silence.
O(n) Octave 0 définit l'octave actuelle. Il y a 7 octaves (0 à 6). La valeur par défaut est 4. Le do médian est au début de l'octave 3.
P(n) Pause. P peut varier de 1 à 64.
T(n) Tempo. T définit le nombre de L4 en une minute. n peut varier de 32 à 255. La valeur par défaut est 120.
. (période)
Une période après une note augmente le temps de jeu de la note de 3/2 fois la période déterminée par L (longueur de note) fois T (tempo). Plusieurs périodes peuvent apparaître après une note, et le temps de jeu est mis à l'échelle en conséquence.
Par exemple, A. fera jouer la
note A une fois et demie le temps de jeu déterminé par L (longueur de la note)
fois T (le tempo); deux points placés après A (A..) feront jouer la note à 9/4
fois sa valeur attribuée ; un A à trois points (A...) à 27/8, etc.
Des
points peuvent également apparaître après un P (pause) et augmenter la durée de
la pause comme décrit ci-dessus.
Xstring ;
Exécute une sous-chaîne, où
chaîne est une variable affectée à une chaîne de commandes PLAY.
En
raison de la lenteur du taux d'interruption de l'horloge, certaines notes ne
jouent pas à des tempos plus élevés ; par exemple, 1,64 à T255. Ces combinaisons
note/tempo doivent être déterminées par l'expérimentation.
>n Un symbole
supérieur à précédant la note n joue la note dans l'octave immédiatement
supérieure.
<n Un symbole inférieur à précédant la note n joue la note dans
l'octave inférieure suivante.
Contrôle du volume
Le contrôle du volume est
disponible sur syntax={tandy | pcjr} uniquement :
Effet de commande
Vn Réglez le volume sur n, dans la plage [-1—15]. -1 signifie plein volume. Si SOUND ON n'a pas été exécuté, cela n'a aucun effet.
Paramètres MML
Les variables numériques n dans les commandes ci-dessus peuvent être :
• un littéral entier, par ex. JOUER "L4G"
• un nom de variable numérique ou un élément de tableau var précédé de = et suivi de ; . Par exemple, PLAY "L=VAR;G" ou PLAY "L=A(1);G"
• le résultat de VARPTR$(var)
précédé de = . Par exemple, PLAY "L=" + VARPTR$(VAR) + "G"
Notez que
seuls les littéraux numériques peuvent suivre les notes nommées et que le
déréférencement des variables ou des tableaux n'est pas autorisé ici. C'est une
erreur d'écrire PLAY "G=VAR;" ou PLAY "G=" + VARPTR$(VAR) .
Utilisez PLAY "G4" ou PLAY "L=VAR;G" ou PLAY "L=" + VARPTR$(VAR) + "G" à la place.
Les commandes peuvent éventuellement être séparées par un point-virgule ; , mais pas par plus d'un.