Lecture
GW-BASIC  (PC-BASIC)

Initiation au langage Basic

Votre ordinateur est un naturel à l'enseignement. Il est patient, infatigable et ne se trompe jamais.

Selon le programmeur (vous, bien sûr), cela peut aussi être imaginatif, réconfortant et enthousiaste.

En utilisant RND, apprenez les mathématiques.

Le programme ci-dessous vous entraîne sur les tables de multiplication, de 1 à 15, et vérifie vos réponses.

Taper:

5 RANDOMIZE TIMER
10 CLS
20 X=INT(15*RND(1)+1) 'Nombre entre 1 et 15
30 Y=INT(15*RND(1)+1) 'Nombre entre 1 et 15
40 PRINT "QUE DONNE " X "*" Y " ? "
45 INPUT A
50 IF A = X * Y THEN 90
60 PRINT "LA REPONSE EST" X*Y
70 PRINT "MEILLIEUR CHANCE LA PROCHAINE FOIS"
80 GOTO 100
90 PRINT "EXACTE !!!"
100 PRINT "APPUYER SUR <ENTER> QUAND VOUS ÊTES PRÊT POUR UN AUTRE"
105 INPUT A$
110 GOTO 10

Exercice

Ajoutez des lignes pour vérifier si A$ est égale à "OUI" ou "O" pour entrer un autre nombre. Sinon le programme se termine.

*****

Pour sauvegarder un programme sur le disque utilisez SAVE:

SAVE "PROGRAM",A enregistre le programme actuel dans un fichier texte nommé PROGRAM.BAS .

Pour charger un programme utilisez LOAD:

LOAD "PROGRAM (Avec une seule ") charge le fichier programme nommé PROGRAM.BAS en mémoire

*****

Faites en sorte que le programme vous entraîne sur des problèmes d'addition de 1 à 100.

Voici les lignes que nous avons modifiées :

20 X=INT(100*RND(1)+1)
30 Y=INT(100*RND(1)+1)
40 PRINT "QUE DONNE " X "+" Y
45 INPUT A
50 IF A = X + Y THEN 90
60 PRINT "LA REPONSE EST " X + Y

Rendez le programme plus intéressant. Demandez-lui de garder un total cumulé de toutes les bonnes réponses.

Taper:

15 T=T+1
95 C=C+1
98 PRINT "IL Y A " C "REPONSES CORRECT SUR " T "REPONSES"

T est un "compteur". Il compte le nombre de questions qui vous sont posées. Lorsque vous démarrez le programme pour la première fois, T est égal à zéro.

Ensuite, chaque fois que l'ordinateur arrive à la ligne 15, il ajoute 1 à T.

C est aussi un compteur. Il compte vos bonnes réponses. Puisque C est à la ligne 95, l'ordinateur n'augmente pas C à moins que votre réponse ne soit correcte.

Programme faites-le vous même.

Rendez le programme plus amusant. Faites-lui effectuer une ou plusieurs des actions suivantes :

1. Appelez-vous par votre nom.
2. Récompensez votre bonne réponse avec un spectacle son et lumière.
3. Afficher le problème et les messages de manière attrayante sur votre écran. (Utilisez LOCATE pour cela.)
4. Gardez un total cumulé du pourcentage de bonnes réponses.
5. Terminez le programme si vous obtenez 10 bonnes réponses consécutives.

Utilisez votre imagination.
Note : Dans ce programme on utilise les : pour mettre plusieurs commandes sur la même ligne

Remplacez L et C de LOCATE par vos coordonnées.

5 SCREEN 9:COLOR 7,0:CLS:RANDOMIZE TIMER
6 LOCATE 1,5:PRINT "Quel est ton nom ? ";
8 INPUT N$
9 LOCATE L,C:PRINT "Ce petit test comprend 10 questions"
10 COLOR 7,0:CLS
15 T=T+1
20 X=INT(100*RND(1)+1)
30 Y=INT(100*RND(1)+1)
40 LOCATE L,C:PRINT "Comment font " X "+" Y
45 INPUT A
50 IF A = X + Y THEN 82
60 LOCATE L,C:PRINT "La réponse est " X + Y
70 LOCATE L,C:PRINT "Meilleur chance la prochaine fois ," N$
80 GOTO 100
82 COLOR 7,1:CLS
83 FOR M = 1 TO 4
84 SOUND 175,1
85 SOUND 200,1
86 NEXT M
87 CLS
90  LOCATE L,C:PRINT "Correcte, " N$ "!  ! ! "
95 C = C + 1
97 LOCATE L,C:PRINT "C'EST"
98 LOCATE L,C:PRINT C " Réponses Correctes sur " T " Réponses "
99 LOCATE L,C:PRINT C/T*100 "% De bonnes réponses" :IF T=10 THEN END
100 LOCATE L,C:PRINT "Appuyez sur <ENTER> Quand vous êtes prêt"
102 LOCATE L,C:PRINT "POUR UN AUTRE"
105 INPUT A$
110 GOTO 10

Pour afficher des caractères on peut utiliser la commande CHR$(X) où X est le code ascii du caractère.

PRINT CHR$(144) affiche É majuscule.

Le programme ci-dessous affiche les caractères des codes ascii de 33 à 255 sur 4 colonnes.

Il utilise le paramètre TAB de PRINT et une boucle FOR ... NEXT.

Ce programme utilise la variable P comme indicateur de position pour TAB, soit pour les positions 0, 15, 30 et 45.

La variable P est augmentée de 15 après la ligne 30.

10 CLS:P=0   'Attribut la valeur 0 à P
20 FOR X= 33 TO 255
25 IF P=60 THEN P=0    'Vérifie si P=60 si oui alors P=0
30 PRINT TAB(P) X;"CHR= "CHR$(X); 'Affiche X et le caractère pour la valeur de X
35 P=P+15 'Incrémente P de 15 pour le prochain affichage
40 NEXT X

Voir à la fin de cette page pour les codes ascii.

Tout d'abord, construisez le vocabulaire de votre ordinateur...

Pour construire le vocabulaire de votre ordinateur (afin qu'il puisse construire le vôtre !), tapez et exécutez ce programme :

10 DATA POMMES, ORANGES, POIRES
20 FOR X = 1 TO 3
30 READ F$
40 NEXT X

Que s'est-il passé... rien ?

Rien que vous puissiez voir, c'est-à-dire. Pour voir ce que fait l'ordinateur, ajoutez cette ligne et exécutez le programme :

35 PRINT "F$ = : " F$

La ligne 30 indique à l'ordinateur de :

1. Recherchez une ligne DATA.

2. LIRE le premier élément de la liste - POMMES.

3. Donnez aux POMMES une étiquette F$.

4. "Barrez" les POMMES.

La deuxième fois que l'ordinateur se gélifie à la ligne 30, on lui dit de faire la même chose :

1. recherchez une ligne DATA.

2. LISEZ le premier article - cette fois, il s'agit d'ORANGES.

3. Donnez à ORANGES le label F$.

4. "Barrez" les ORANGES.

Et si vous voulez que l'ordinateur relise la même liste ?

Toutes les données sont déjà "barré"  ...

Tapez:

60 GOTO 10

Exécutez le programme.

Vous obtenez une erreur : Out of DATA in 30 

L'ordinateur a barré toutes les données.

Tapez cette ligne et lancez le programme :

50 RESTORE

Maintenant, c'est comme si l'ordinateur n'avait jamais barré aucune donnée. Il lit la même liste encore et encore.
Vous pouvez mettre des lignes DATA où vous voulez dans le programme. (Faites Break ou CTRL+C pour arrêter le programme)

Exécutez chacun de ces programmes. Ils fonctionnent tous de la même manière.

Note: N'oublier pas de taper NEW avant de taper un nouveau programme. NEW effaces toutes les donnés en mémoire, valeurs des variables et le programme.

Programme 1 Programme 2
10 DATA POMMES
20 DATA ORANGES
30 FOR X = 1 TO 3
40 READ F$
50 PRINT "F$ = : " F$
60 NEXT X
70 DATA PEARS
10 DATA POMMES, ORANGES
20 DATA POIRES
30 FOR X = 1 TO 3
40 READ F$
50 PRINT "F$ = : " F$
60 NEXT X
Programme 3 Programme 4
30 FOR X = 1 TO 3
40 READ F$
50 PRINT "F$ = : " F$
60 NEXT X
70 DATA POMMES
80 DATA ORANGES
90 DATA POIRES
100 FOR X = 1 TO 3
110 READ F$
120 PRINT "F$ = :" F$
130 NEXT X
140 DATA POMMES, ORANGES, POIRES

Maintenant, construisez votre vocabulaire

Voici quelques mots et définitions à apprendre :

10 DATA TACITE,HABITUELLEMENT NON PARLANT
20 DATA LOQUACE,TRES BAVARE
30 DATA BRUYANT, BRUIT FORT
40 DATA LACONIQUE,EXPRIME EN PEU DE MOTS
50 DATA EXPANSIF,QUI TEND A S'ETENDRE

Maintenant, demandez à l'ordinateur de sélectionner l'un de ces mots au hasard. Hmmm il y a dix articles. Peut-être que cela fonctionne

1 RANDOMIZE TIMER
60 N= INT(10*RND(1)+1)
70 FOR X = 1 TO N
80 READ A$
90 NEXT X
100 PRINT "LE MOT AU HASARD EST: " A$

Exécutez le programme plusieurs fois. Cela ne fonctionne pas très bien. L'ordinateur est tout aussi susceptible de s'arrêter à une définition qu'à un mot.

Ce que l'ordinateur doit vraiment faire, c'est choisir un mot au hasard uniquement parmi les éléments 1, 3, S, 7 ou 9.

Heureusement, BASIC a un mot qui aide à cela.

Taper:

65 IF INT(N/2) = N/2 THEN N = N - 1

Maintenant, exécutez à nouveau le programme plusieurs fois. Cette fois, ça devrait marcher.

INT indique à l'ordinateur de ne regarder que la "partie entière" du nombre et d'ignorer la partie décimale. Par exemple, l'ordinateur voit INT(3.9) comme 3.

Supposons que N, le nombre aléatoire, est 10. La clause IF de la ligne 65 fait ceci :

INT(10/2) = 10/2
INT(5) = 5
5 = 5

Ce qui précède est vrai : 5 est égal à S. Puisque c'est vrai, l'ordinateur complète la clause THEN. N est ajusté pour être égal à 9 (10 - 1).

Supposons maintenant que N, le nombre aléatoire, est 9. La clause IF de la ligne 65 fait ceci :

INT(9/2) = 9/2
INT(4.5) = 4.5
4 = 4.5

Ce qui précède n'est pas vrai : 4 n'est pas égal à 4,5. Comme ce n'est pas vrai, l'ordinateur ne complète pas la clause THEN. N reste 9.

Outre la lecture d'un mot au hasard, l'ordinateur doit également lire la définition du mot. Ajoutez ces lignes à la fin du programme :

110 READ B$
120 PRINT "LA DEFINITION EST:" B$

Exécutez maintenant le programme plusieurs fois.

Demandez à l'ordinateur d'imprimer un mot au hasard et sa définition après le suivant.

Ajoutez ceci au début du programme :

5 CLEAR 100

Cela réserve beaucoup "d'espace de caractères". Ajoutez ces lignes à la fin du programme :

130 RESTORE
140 GOTO 60

Cela permet à l'ordinateur de choisir un nouveau mot aléatoire et sa définition à partir d'un groupe "restauré" d'éléments de données.

Voici à quoi ressemble le programme :

1 RANDOMIZE TIMER
5 CLEAR 100
10 DATA TACITE,HABITUELLEMENT NON PARLANT
20 DATA LOQUACE,TRES BAVARE
30 DATA BRUYANT, BRUIT FORT
40 DATA LACONIQUE,EXPRIME EN PEU DE MOTS
50 DATA EXPANSIF,QUI TEND A S'ETENDRE
60 N= INT(10*RND(1)+1)
65 IF INT(N/2) = N/2 THEN N = N - 1
70 FOR X = 1 TO N
80 READ A$
90 NEXT X
100 PRINT "LE MOT AU HASARD EST: " A$
110 READ B$
120 PRINT "LA DEFINITION EST:" B$
130 RESTORE
140 GOTO 60

Si vous voulez vous pouvez ajoutez quelques mots et définitions supplémentaires en ajoutant des lignes DATA.

Pour des variantes de ce programme, vous pouvez essayer des états et des capitales, des villes et des pays, des mots et des significations étrangers.

Programme faites-le vous même

Vous souhaitez compléter ce programme ?

Programmez-le pour que l'ordinateur :

1. Affiche uniquement la définition.
2. Vous demande le mot.
3. Compare le mot avec le mot aléatoire correct.
4. Vous indique si votre réponse est correcte. Si votre réponse est incorrecte, affiche le mot correct.

1 RANDOMIZE TIMER
5 CLEAR 100
10 DATA TACITE,HABITUELLEMENT NON PARLANT
20 DATA LOQUACE,TRES BAVARE
30 DATA BRUYANT, BRUIT FORT
40 DATA LACONIQUE,EXPRIME EN PEU DE MOTS
50 DATA EXPANSIF,QUI TEND A S'ETENDRE
60 N= INT(10*RND(1)+1)
65 IF INT(N/2) = N/2 THEN N = N - 1
70 FOR X = 1 TO N
80 READ A$
90 NEXT X
110 READ B$
120 PRINT "QUE SIGNIFIE LE MOT: " B$
130 RESTORE
140 INPUT R$
150 IF R$ = A$ THEN 180
160 PRINT "MAUVAIS"
170 PRINT "LE MOT JUSTE EST :" A$
180 GOTO 60
190 PRINT "CORRECT"
200 GOTO 60

 

 

 

 

 

 

 

 

Recherche personnalisée