GENISTA (1971) : TUTORIEL "BBC BASIC FOR WINDOWS" EN FRANÇAIS : CHAPITRE 08 : INTERACTION AVEC L'UTILISATEUR



Logo Genista, fondé en 1971

Guide Tutoriel de BBC BASIC for Windows, Ch. 08

BBC BASIC (BB4W) Tutorial: Interacting with the User

Interaction avec l'Utilisateur (Tutoriel BBC BASIC, Ch. 08) [Genista]

Par Peter Nairn  •  Traduction : Guy Schaffner (Texte et images) (Genista)

informatique et programmation Vous connaissez à présent toutes les astuces qui permettent d'afficher sur votre écran des textes dans toutes les couleurs disponibles, plus celles que vous aurez fabriquées.
Dans ce chapitre, vous allez découvrir comment on peut interagir avec l'ordinateur en lui fournissant, au moment où il en a besoin, des données numériques ou sous forme de chaîne de caractères. C'est même lui qui vous les demandera...
Chapitre 7   •   Chapitre 8   •   Chapitre 9      

Chapitre 8 — Interaction avec l'Utilisateur


Les exemples précédents, comme notre programme de cercle, ont une faille évidente. Pour les faire « tourner », les utilisateurs doivent modifier le code manuellement et mettre des valeurs nouvelles dans les variables initiales. On ne sait pas pourquoi, mais la plupart des utilisateurs d'ordinateurs, même ceux qui croient qu'ils en connaissent beaucoup sur les ordinateurs, pâlissent en imaginant qu'ils doivent programmer véritablement et préfèreraient payer pour que quelqu'un le fasse à leur place. C'est bien étrange, mais ça m'a permis d'avoir du travail pendant longtemps. Ce dont nous avons besoin, c'est une façon de permettre à l'utilisateur d'entrer la valeur, par exemple, du rayon de notre cercle. De cette façon, les petits chéris n'auront pas besoin de se salir les mains avec du CODE. Ceux qui ont créé le BASIC y ont déjà pensé. Essayez ceci :


      INPUT A$
      PRINT "Vous avez tapé : ";A$
      END
    

Lorsque le programme est lancé, l'écran reste fixe, avec un point d'interrogation, jusqu'à ce que vous tapiez quelque chose et que vous pressiez la touche  Entrée . Après cela, l'exécution continue normalement. Formidable ! Nous pouvons maintenant modifier notre programme de cercle pour le rendre interactif :


      REM Aire d'un cercle
      INPUT Rayon
      Aire=PI*Rayon^2
      PRINT "L'aire de votre cercle est ";Aire
      END
    

J'ai mis à jour la ligne 3 pour inclure les choses dont nous avons déjà parlé. Ce serait bien, pourtant, que le programme dise à l'utilisateur ce qu'il attend. Après tout, encore moins que d'écrire du code, les utilisateurs n'aiment pas lire les manuels. (La plupart des programmeurs non plus, d'ailleurs.) INPUT est une autre commande, comme PRINT, avec de nombreuses variantes. Pour commencer, vous pouvez mettre une chaîne de texte pour dire à l'utilisateur ce que le programme attend :


      INPUT "Quel est le rayon"; Rayon
    

Si vous ne mettez pas le point-virgule ( ; ) « BB4W » n'affichera pas le point d'interrogation, aussi n'avez-vous pas besoin de rédiger votre phrase comme une question :


      INPUT "Veuillez donner le rayon : " Rayon
    

Et puis, il est possible de demander plus d'une variable à la fois, à condition de les séparer par des virgules :


      INPUT "Longueur et largeur (mètres) " Lon,Lar
      PRINT "Surface du rectangle : ";Lon*Lar;" m²"
      END
    

Vous pouvez donner les valeurs séparées par des virgules ou par  Entrée . Le BASIC continuera à attendre vos réponses jusqu'à ce qu'il ait assez de données pour les assigner aux variables spécifiées. Il est aussi possible de partager la demande de données :


      INPUT "Longueur : " Lon " largeur : " Lar
    

Enfin, bien qu'il y ait davantage d'explications dans l'Aide en ligne, vous pouvez poser vos questions n'importe où sur l'écran en utilisant TAB :


      INPUT TAB(5,5);"Quel est votre nom "; N$
      PRINT TAB(5,6);"Bonjour, ";N$
      END
    


INPUT LINE


Il existe une variante de INPUT qu'il vaut la peine de mentionner à ce point. En incluant le mot-clé LINE, nous pouvons faire accepter au BASIC tout ce que l'utilisateur tapera au clavier, pour le stocker dans une variable chaîne. D'habitude, INPUT enlève les espaces du début et s'arrête à la première virgule après le texte initial. En se servant de INPUT LINE, on peut passer outre ce comportement. Illustrons-le ainsi :


      REM INPUT comparé à INPUT LINE
      INPUT "Votre adresse complète : " Adr$
      PRINT "Adresse avec INPUT : ";Adr$
      INPUT LINE "Votre adresse complète : " Adr$
      PRINT "Adresse avec INPUT LINE : ";Adr$
      END
    

Utilisation de INPUT ou INPUT LINE au choix

Ici, c'est tout à fait bonnet blanc et blanc bonnet : une variante n'est pas meilleure qu'une autre ; cela dépend de ce que vous voulez.


Un truc : Pour entrer des nombres

En utilisant INPUT et INPUT LINE, l'utilisateur doit faire preuve d'intelligence dans son choix pour l'entrée. Si vous attendez un nombre et qu'une chaîne est entrée à la place, le BASIC renverra zéro.

Une bonne façon d'éviter les embûches est d'utiliser une chaîne pour enregistrer l'entrée, et de la convertir ensuite en nombre à l'aide de VAL.

En n'oubliant pas ceci, INPUT sera une bonne façon d'écrire des programmes interactifs.




Exercices


08.1
Le volume d'un cylindre est PI*Rayon^2*Hauteur.
Écrivez un programme qui demande le rayon et la hauteur pour en tirer le volume.

08.2
Faites un « prompt » (c'est-à-dire une demande) avec INPUT pour entrer votre nom complet.
Affichez le nombre de caractères dans le nom (y compris les espaces).



Fin du Chapitre 8





Haut de Page  •  [Top of Page]

Page suivante (Ch. 9)  •  [Next Page (Ch. 9)]

Page précédente (Ch. 7)  •  [Previous Page (Ch. 7)]

Page d'entrée : BASIC, BBC BASIC et BB4W  •  [BASIC, BBC BASIC and BB4W  Entry Page]

Début du Guide pratique du BBC BASIC  •  [The Beginning of the BBC BASIC Tutorial]

Autres sujets  •  [Other subjects]