Dialoguer avec l'utilisateur
Un programme devient vraiment intéressant quand il dialogue avec la personne qui l'utilise. Voyons comment lui poser des questions.
Poser une question avec demande
demande affiche une question, attend que l'utilisateur tape une réponse, puis la range dans une variable :
prenom est un texte
demande 'Comment t’appelles-tu ? ' dans prenom
affiche 'Enchanté, ' + prenom + ' !'
La variable doit être déclarée avant le demande. Son type décide de la conversion : avec un texte, la réponse est gardée telle quelle ; avec un nombre, elle est convertie en nombre.
Demander un nombre
age est un nombre
demande 'Quel âge as-tu ? ' dans age
affiche 'Dans 10 ans, tu auras ' + (age + 10) + ' ans.'
Comme age est un nombre, on peut calculer avec la réponse. Si l'utilisateur tape autre chose qu'un nombre (douze), le programme s'arrête avec une erreur qui explique le problème. On verra dans le cours sur les erreurs comment l'éviter.
Si age avait été déclaré comme texte, age + 10 collerait les deux : 12 deviendrait 1210 ! Pour calculer, déclare la variable comme nombre.
Question : L'utilisateur tape 5 et la variable n est un texte. Que donne affiche n + 1 ? — 51. n est un texte, donc + colle : '5' + 1 donne 51.
Proposer un menu avec choisir
choisir affiche des options cliquables. Le numéro de l'option choisie (1 pour la première, 2 pour la deuxième...) est rangé dans une variable de type nombre :
choix est un nombre
affiche 'Quel est ton animal préféré ?'
choisir ['Chat', 'Chien', 'Hibou'] dans choix
si choix = 3 alors
affiche 'Excellent choix !'
sinon
affiche 'Bien vu, mais tu aurais pu dire hibou...'
fin si
Avec choisir, l'utilisateur ne peut pas se tromper de saisie : il clique sur une des options proposées.
Il existe aussi appuyer qui attend l'appui sur une touche du clavier : appuyer ['o', 'n'] dans reponse range 1 si on appuie sur o, 2 pour n.
Un petit programme complet
Rassemblons tout : un calculateur de prix.
// Calcul du prix d'un achat
produit est un texte
quantite est un nombre
prixUnitaire est un nombre vaut 2.5
demande 'Quel produit veux-tu ? ' dans produit
demande 'Combien en veux-tu ? ' dans quantite
affiche quantite + ' x ' + produit + ' = ' + (quantite * prixUnitaire) + ' €'
Essaie-le, puis modifie le prix unitaire pour voir le résultat changer.
En résumé
demande 'question' dans variable attend une réponse au clavier.- Déclare la variable avant, avec le bon type :
nombre pour calculer, texte sinon. choisir [...] dans variable propose un menu ; la variable nombre reçoit le numéro choisi.appuyer [...] dans variable attend une touche du clavier.