Un quiz populaire
GW-BASIC
(PC-BASIC)
En utilisant un mot nommé INKEY$, vous pouvez faire en sorte que l'ordinateur « surveille », « chronomètre » ou « teste » constamment ce que vous tapez.
Tapez et exécutez ce programme :
5 CLS
10 A$ = INKEY$
20 IF A$<>"" GOTO 50 'Si
différant de vide
30 PRINT "VOUS N'APPUYEZ SUR
RIEN"
40 GOTO 10
50 PRINT "LA TOUCHE QUE VOUS
AVEZ APPUYÉE EST--- " A$
INKEY$ vérifie si vous appuyez sur une touche. Il le fait en une fraction de seconde.
Au moins les 20 premières fois qu'il vérifie, vous n'avez appuyé sur rien (""), la ligne 10 étiquette la touche sur laquelle vous appuyez comme A$.
Ensuite, l'ordinateur prend une décision :
Si A$ est égal à rien (""), il affiche VOUS N'APPUYEZ SUR RIEN et revient à la ligne 10 pour vérifier à nouveau le clavier.
Si A$ est égal à quelque chose (tout sauf ""), l'ordinateur va à la ligne 50 et affiche la touche.
Ajoutez cette ligne et exécutez le programme :
60 GOTO 10
Peu importe à quelle vitesse vous êtes, l'ordinateur est plus rapide !
Effacez la ligne 30 pour voir sur quelles touches vous appuyez.
Battre l'ordinateur
Tapez ce programme :
5 RANDOMIZE TIMER
10 X =
INT(4*RND(1)+1)
20 Y = INT(4*RND(1)+1)
30 PRINT "QU'EST-CE QUE FONT" X " +
" Y
40 T = 0
50 A$ = INKEY$
60 T = T + 1
70 SOUND 128,1
80 IF T =
15 THEN 200
90 IF A$ = "" THEN 50
100 GOTO 10
200 CLS
210 SOUND
180,30
220 PRINT "TROP TARD"
Voici comment fonctionne le programme :
Aux lignes 10, 20 et 30, l'ordinateur affiche deux nombres aléatoires et vous demande leur somme.
La ligne 40 définit T sur O. T est une minuterie.
La ligne 50 vous donne votre première chance de répondre à la question en une fraction de seconde.
La ligne 60 ajoute 1 à T, la minuterie. T est maintenant égal à 1. La prochaine fois que l'ordinateur arrive à la ligne 60, il ajoute à nouveau 1 à la minuterie pour que T soit égal à 2. Chaque fois que l'ordinateur exécute la ligne 60, il ajoute 1 à T.
La ligne 70 est là juste pour te rendre nerveux.
La ligne 80 indique à l'ordinateur que vous avez 15 chances de répondre. Une fois que T est égal à 15, le temps est écoulé. L'ordinateur vous insulte avec les lignes 200, 210 et 220.
La ligne 90 indique que si vous n'avez pas encore répondu, l'ordinateur doit revenir en arrière et vous donner une autre chance.
L'ordinateur n'atteint la ligne 100 que si vous répondez. La ligne 100 le renvoie pour un autre problème.
Comment pouvez-vous faire en
sorte que l'ordinateur vous donne trois fois plus de temps pour répondre à
chaque question ?
Réponse:
En changeant cette ligne :
80 IF T = 45 THEN 200
Vérification de vos réponses
Comment pouvez-vous demander à l'ordinateur de vérifier si votre réponse est correcte ?
Cela fonctionnerait-il ?
100 IF A$ = X + Y THEN 130
110 PRINT "INCORRECTE " X "+" Y "=" X + Y
120 GOTO 10
130 PRINT "CORRECT"
140 GOTO 10
Si vous exécutez ce programme (et répondez à temps), vous obtiendrez ce message d'erreur :
Type mismatch in 100
C'est parce que vous ne pouvez pas rendre une chaîne (A$) égale à un nombre (X + Y). Vous devez en quelque sorte changer A$ en un nombre.
Changez la ligne 100 en tapant :
100 IF VAL (A$) = X + Y THEN 130
VAL(A$) convertit A$ en sa valeur numérique.
Si A$ est égal à la chaîne
"5 :' par exemple, VAL(A$) est égal au nombre 5. Si VAL(A$) est égal à la chaîne
"C :'
VAL(A$) est égal au nombre 0. ("C" n'a pas de valeur numérique.)
Pour rendre le programme plus difficile, modifiez ces lignes :
10 X = INT(49*RND(1)+1)
20 Y
= INT(49*RND(1)+1)
45 B$ = ""
90 B$ = B$ + A$
95 IF LEN(B$) <> 2 THEN
50
100 IF VAL(B$) = X + Y THEN 130
Un test de dactylographie informatique
Voici un programme qui chronomètre la vitesse à laquelle vous tapez :
10 CLS
20 INPUT "Appuyez
<ENTER> Lorsque vous êtes prêt à saisir cette phrase "; E$
30 PRINT "C'est
maintenant le temps pour tous les hommes bons"
40 T = 1
50 A$ = INKEY$
60 IF A$ = "" THEN 100
70 PRINT A$;
80 B$ = B$ + A$
90 IF LEN(B$) = 51
THEN 120
100 T = T + 1
110 GOTO 50
120 S = T/74
130 M = S/60
140
R=9/M
150 PRINT
160 PRINT "Vous avez type à -- "R" --Mots/Min"
la ligne 40 met T, le temporisateur, à 1.
la ligne 50 vous donne votre première chance de taper une touche (A$). Si vous n'êtes pas assez rapide, la ligne 60 envoie le programme à la ligne 100 et ajoute 1 à la minuterie.
la ligne 70 imprime la clé que vous avez tapée.
la ligne 80 forme une chaîne nommée B$. Chaque fois que vous tapez une touche (A$), le programme l'ajoute à B$. Par exemple, si la première clé que vous saisissez est "N", alors :
A$ = "C"
et
B$= B$+A$
B$= ""+"C"
B$ = "C"
Si la clé suivante que vous saisissez est " ' ", alors :
A$ = " ' "
et
B$ = B$ +
A$
B$="C"+" ' "
B$ = "C' "
Si la troisième clé que vous saisissez est "E", alors :
A$ = "e"
et
B$ '" "C'" +
"e"
B$ = "C'e"
Lorsque la longueur de B$ est de 51 (la longueur de (C'est maintenant le temps pour tous les hommes bons), le programme suppose que vous avez fini de taper la phrase et passe à la ligne 120 pour calculer vos mots par minute.
les lignes 120, 130 et 140 calculent votre vitesse de frappe. Ils divisent T par 74 (pour obtenir les secondes), S par 60 (pour obtenir les minutes). Ils divisent ensuite les neuf mots par M pour obtenir les mots par minute.