Section courante

A propos

Section administrative du site

Les questionnaires

Dans cette page, vous apprendrez à utiliser les fonctions INKEY$ et VAL pour configurer le test par vous-même.

Regarder le clavier (la fonction INKEY$)

En utilisant un mot nommé INKEY$, vous pouvez faire en sorte que l'ordinateur surveille, chronomètre ou teste constamment ce que vous tapez. Sa syntaxe est :

INKEY$

Renvoie la touche actuellement enfoncée ou, si aucune touche n'est enfoncée, ne renvoie rien ("").

Tapez et exécutez ce programme :

  1. 10 A$=INKEY$
  2. 20 IF A$<>""GOTO 50
  3. 30 PRINT"VOUS N'APPUYEZ SUR RIEN"
  4. 40 GOTO 10
  5. 50 PRINT "LA TOUCHE QUE VOUS AVEZ APPUYEE 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 rien appuyé sur ("").

La ligne 10 étiquette la touche sur laquelle vous appuyez comme A$. Ensuite, l'ordinateur prend une décision :

Ajoutez cette ligne et exécutez le programme :

  1. 60 GOTO 10

Peu importe à quelle vitesse vous êtes, l'ordinateur est plus rapide ! Effacez la ligne 30 (DEL 30) pour voir sur quelles touches vous appuyez.

Battez l'ordinateur (un exemple de INKEY$)

Tapez ce programme :

  1. 10 X=RND(4)     
  2. 20 Y=RND(4)
  3. 30 PRINT "QUE VAUT " X "+" Y
  4. 40 T=0
  5. 50 A$=INKEY$
  6. 60 T=T+1
  7. 70 SOUND 128,1
  8. 80 IF T=15 THEN 200
  9. 90 IF A$=""THEN 50
  10. 100 GOTO 10
  11. 200 CLS 7
  12. 210 SOUND 180,30
  13. 220 PRINT "TROP TARD"

Voici comment fonctionne le programme :

Comment pouvez-vous faire en sorte que l'ordinateur vous accorde trois fois plus de temps pour répondre à chaque question ? Réponse : En modifiant cette ligne :

  1. 80 IF T=45 THEN 200

Vérification de vos réponses (La fonction VAL)

Comment pouvez-vous demander à l'ordinateur de vérifier si votre réponse est correcte ? Cela fonctionnerait-il ?

  1. 100 IF A$=X+Y THEN 130
  2. 110 PRINT "MAUVAIS", X "+" Y "=" X + Y
  3. 120 GOTO 10
  4. 130 PRINT "CORRECTE"
  5. 140 GOTO 10

Si vous exécutez ce programme (et répondez à temps), vous obtenez ce message d'erreur :

?TM ERROR IN 100

C'est parce que vous ne pouvez pas rendre une chaîne de caractères (A$) égale à un nombre (X + Y). D'une manière ou d'une autre, vous devez changer A$ en un nombre. BASIC a une fonction pour cela appelée VAL. Sa syntaxe est :

VAL(string)

Renvoie la valeur numérique de la chaîne de caractères string.

Changez la ligne 100 en tapant :

  1. 100 IF VAL(A$)=X+Y THEN 130

VAL(A$) convertit A$ en sa valeur numérique. Si A$ est égal à la chaîne de caractères "5". VAL(A$) est égal au nombre 5. Si VAL(A$) est égal à la chaîne de caractères "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 :

  1. 10 X=RND(49)+4
  2. 20 Y=RND(49)+4
  3. 90 B$=B$+A$
  4. 100 IF VAL(B$)=X+Y THEN 130

Ajoutez ensuite ces lignes :

  1. 45 B$=""
  2. 95 IF LEN(B$)<>2 THEN 50

Un test de dactylographie informatique (un exemple de INKEY$)

Voici un programme chronométrant la vitesse à laquelle vous tapez :

  1. 10 CLS
  2. 20 INPUT "APPUYEZ SUR <ENTER> LORSQUE VOUS ETES PRET A SAISIR CETTE PHRASE"; E$
  3. 30 PRINT "C'EST MAINTENANT LE TEMPS POUR TOUS LES HOMMES BONS"
  4. 40 T=1
  5. 50 A$=INKEY$
  6. 60 IF A$=""THEN 100
  7. 70 PRINT A$;
  8. 80 B$=B$+A$
  9. 90 IF LEN(B$)=32 THEN 120
  10. 100 T=T+1
  11. 110 GOTO 50
  12. 120 S=T/74
  13. 130 M=S/60
  14. 140 R=8/M
  15. 150 PRINT
  16. 160 PRINT "VOUS TAPEZ A -- " R " -- MOTS/MINUTES"

La ligne 40 met T, la minuterie, à 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 en ajoute un à la minuterie.

La ligne 70 affiche la touche que vous avez tapée.

La ligne 80 forme une chaîne de caractères nommée B$. Chaque fois que vous tapez une touche (A$), le programme l'ajoute à B$. Par exemple, si la première touche que vous saisissez est "C", alors :

  1. A$="C"

et

  1. B$=B$+A$
  2. B$=""+"C"
  3. B$="C"

Si la touche suivante que vous tapez est "'", alors :

  1. A$="'"     

et

  1. B$=B$+A$
  2. B$="C"+"'"
  3. B$="C'"

Si la troisième clé que vous avez tapée est "E", alors :

  1. A$="E"

et

  1. B$="C'"+"E"
  2. B$="C'E"

Lorsque la longueur de B$ est de 32 (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 va à 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) et S par 60 (pour obtenir les minutes). Ils divisent ensuite les huit mots par M pour obtenir les mots par minute.

COMMANDES

INKEY$
VAL
CONCEPTS

Lecture du clavier
Conversion de valeurs


Dernière mise à jour : Samedi, le 11 mars 2023