Dans cette partie, je vous propose de réaliser la barre de menu (et pourquoi pas le programme en entier) d'un programme permettant de calculer l'aire et le périmètre de diverses figures géométriques.
Pour les parties de code, j'ai choisi la coloration syntaxique du Pascal (qui me convient plutôt bien), le code Ti-Basic n'étant pas géré par le zCode. Pas d'inquiétude donc, c'est bien un tutoriel sur le Ti-Basic et non sur le Pascal.
On commence tout de suite avec la syntaxe principale de la barre de menu :
Code : Pascal 1
2
3
4
5
6
7
8
9
10
11 | calcul()
Prgm
ClrIO
Toolbar
Title "PGCD"
Item "Resultat",re
Item "Le détail",de
Title "Quitter",qt
EndTBar
//suite du programme
EndPrgm
|
Explication du code :
Au début, c'est normal : le nom du programme, baptisé calcul pour l'occasion, les instructions de début de programme (Prgm) et l'effacement de l'écran (ClrIO, qui se traduit en français par EffES). Ensuite, on attaque directement la barre de menu :
- on annonce la barre en ouvrant le bloc de la barre avec "Toolbar", qui signifie en anglais barre d'outils ;
- le premier "Title" est le titre du premier menu ;
- les "Item" sont les sous-menus, comme le sont "Enregistrer" ou "Imprimer", dans le menu fichier de Word ;
- on enchaîne avec un deuxième menu appelé "Quitter", qui va permettre (dans ce cas en appuyant sur F2) de quitter le programme.
Et tes re, de, qt après les items et les titres, ça sert à quoi ?
Séparés par des virgules des données visibles par l'utilisateur (celles-ci sont données entre guillemets), ces instructions de deux lettres (il pourrait y en avoir une seule ou plus, mais évitez tout de même de mettre des mots entiers) sont des noms d'étiquettes (
labels en anglais, Lbl en Ti-Basic) qui serviront lorsque vous voudrez donner les instruction relatives au menu concerné. Un exemple pour bien comprendre :
Code : Pascal 1
2
3
4
5
6
7
8
9
10
11
12
13 | nom()
Prgm //début du programme
Toolbar //instructions pour des menus
Title "Quitter",qt
EndTBar
//plein de code !
Lbl qt //c'est l'étiquette qt.
//instructions pour quitter le programme
EndPrgm
|
Ainsi, lorsque l'on valide le choix "quitter" dans la barre de menus, c'est un peu comme si l'on avait fait un Goto vers l'étiquette qt.
Les noms d'étiquette ne sont pas des variables : inutile donc des les déclarer comme locales (avec Local) au début du programme.
Vous l'avez certainement remarqué dans le premier exemple : il n'est absolument pas obligatoire d'ajouter des sous-menus à tous les menus, on peut aisément mettre l'étiquette directement après le titre du menu.
Allez, à présent vous devriez être capables d'élaborer le programme (avec une barre de menus) annoncé au début de la partie. Un petit conseil cependant : mettez l'étiquette "debut" par exemple avec l'annonce du bloc Toolbar / EndTBar pour pouvoir revenir à la barre de menus à tout moment du programme.
Correction
La cloche a sonné, c'est l'heure de la correction (après ramassage des copies bien entendu !).
Je vous propose le code suivant (j'espère qu'il est suffisamment commenté) :
Code : Pascal 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 | geom()
Prgm
ClrIO
Lbl debut
Toolbar // début du bloc de la barre de menus
Title "Aire" // premier menu
Item "Carré",ca
Item "Rectangle",rec
Title "Périmètre"
Item "Carré",cap
Item "Rectangle",recp
Title "Quitter",qt
EndTBar
Lbl ca
ClrIO // pour effacer la barre de menus
Input "Coté",c // on demande la valeur du côté du carré
c*c->a // on calcule l'aire du c, la flèche est sur la touche "sto"
Disp "Aire =",a
Pause // pour pouvoir lire tranquillement la réponse (appuyer sur "enter" pour continuer)
Goto debut // retour au menu
// étiquettes suivantes (le principe est le même, il suffit de changer les calculs !!
Lbl qt // instructions pour quitter
ClrIO
DispHome
Stop
EndPrgm
|
Et voilà ! Ce n'était pas super difficile

.
Bien sûr, ce code n'est pas parfait : on peut toujours l'améliorer. Dans ce cas, je propose surtout de retoucher un peu le "design", par exemple en ajoutant des boîtes de dialogue pour la saisie des données de départ et pour l'affichage des résultats.
Enfin, en guise de conclusion, je vous conseille de lire la documentation du Ti-Basic, disponible à cette
adresse (sur le site officiel des calculatrices Texas Instruments). Vous y trouverez la majeure partie des fonctions du Ti-Basic avec leur syntaxe.