Calcul du volume des solides de l’Espace en Ti Basic
Par
en juillet 2019Ce tutoriel en TiBasic vous permet de mettre en pratique les bases avec un petit programme. Le programme final est assez long pour un début (96 lignes) mais assez simple dans son fonctionnement.
ATTENTION ! Ce tutoriel comporte des commentaires visibles en bleu précédés de ’ dans les extraits de code. Il ne faut pas les copier sur la calculatrice, en effet, elle risquerait fortement de planter !
Rappel des emplacements des instructions dans une TI 83 Premium CE :
Les emplacements des instructions nécessaires sont les suivants :
PRGM | MATH | TESTS | |
---|---|---|---|
E/S | CTL | NUM | TEST |
Disp, Input, EffEcran, Output( | If, Else, End, Then, Pause, Menu, Lbl, Goto | min(, max( | Tout les signes pour test (= par exemple) |
Principes du programme
Notre programme doit être intuitif pour l’utilisateur. Il doit nous permettre de calculer le volume d’un solide sélectionné à partir des données qui lui sont fournies. Petit bonus, il doit être visuellement agréable.
On peut résumer les besoins de notre programme :
Un menu pour sélectionner le solide de l’espace.
Des entrées claires pour les données.
Une sortie pour afficher le résultat.
Les formules de calcul de volume :
Cube | Pavé droit | Pyramide | Cône | Cylindre | Sphère |
---|---|---|---|---|---|
c3 | Llh | (1/3)Bh | (1/3)Bh | Bh | (4/3)R3π |
Pour commencer
Nous pouvons commencer avec un algorithme plus simple pour avoir une meilleure idée de ce que nous allons faire :
- Disp "VOL CUBE" 'Rappel: Disp affiche le texte
- Input "ARRETE =",A 'Rappel: Input demande une valeur en affichant un texte choisi
- A^3➜A
- Disp "VOLUME =",A
- Disp "UNITE AU CUBE"
Ce code fonctionne mais présente cependant deux défauts :
On ne peut calculer que le volume d’un cube.
La sortie s’affichera comme ceci :
Allons plus loin
On va commencer par créer un menu pour notre programme avec la fonction... menu en TiBasic !
Notre code va donc ressembler à ça :
- 0→A 'On initialise A à 0
- Effécran 'On efface l'écran pour pouvoir faire des affichages personnalisés, c'est très important
- Menu("FIGURE","CUBE",1,"PAVE DROIT",2,"PYRAMIDE",3,"CONE",4,"CYLINDRE",5,"SPHERE",6,"ANNULER",0) 'Le menu, on définit d'abord le titre, puis les rubriques auxquelles on associe un Label
- Lbl 1 'Un Label, le "1"
- Input "ARRETE:",A
- Output(3,1,"VOLUME:" 'On écrit à la 3ème ligne, première position "VOLUME"
- Output(4,1,"AIRE LAT:" 'On ajoute quand cela est simple, la valeur de l'aire latérale totale
- Output(3,8,A^3 'On écrit à la 3ème ligne, 8ème position la valeur A au cube (Ecrire directement le calcul en sortie (quand c'est possible) permet d'optimiser la vitesse du programme)
- Output(4,10,A^2*6
- Goto 0 'On va au Label 0 (qui sera à la fin de notre code pour terminer le programme
Remarque : Aux lignes 10, 11, 12 et 13, la parenthèse n’est pas fermée. Cela permet au programme d’être plus rapide (c’est une possibilité du TiBasic) car il lit moins de caractères.
Le menu et l’affichage agréable.
Nous pouvons ajouter les formules que nous connaissons sur le même principe.
Notre code incomplet
- 0→A
- Effécran
- Menu("FIGURE","CUBE",1,"PAVE DROIT",2,"PYRAMIDE",3,"CONE",4,"CYLINDRE",5,"SPHERE",6,"ANNULER",0)
- Lbl 1
- Input "ARRETE:",A
- Output(3,1,"VOLUME:"
- Output(4,1,"AIRE LAT:"
- Output(3,8,A^3
- Output(4,10,A^2*6
- Goto 0
- Lbl 2 'Pour cette portion, on utilise plusieurs variables car cela est nécéssaire pour la formule
- Input "LONGUEUR:",A
- Input "LARGEUR:",B
- Input "HAUTEUR:",C
- Output(5,1,"VOLUME:"
- Output(6,1,"AIRE LAT:"
- Output(5,8,ABC
- Output(6,10,2AB+2AC+2BC
- Goto 0
- Lbl 6
- Input "RAYON:",A
- Output(3,1,"VOLUME:"
- Output(5,1,"AIRE LAT:"
- Output(3,8,(4/3)*π*A^3
- Output(5,10,4πA^2
- Lbl 0
- Pause 'On rajoute cette fonction pour pouvoir lire le résultat
Ce code est incomplet car il manque le calcul du volume pour les pyramides, les cones et les cylindres.
On pourrait se poser la question suivante : Pourquoi ne pas faire comme avant, avec une entrée et une sortie qui inclue le calcul ?
Parce qu’il y a plusieurs entrées possibles.
On peut les regrouper dans ce tableau :
Pyramide | La base est soit :
Rectangulaire Triangulaire |
Cone | L’utilisateur a soit :
Le rayon Le diamètre L’aire de la base |
Cylindre |
Il nous faut donc inclure un sous menu pour les nouveau choix possibles.
Commençons par les pyramides (vous comprendrez pourquoi).
Notre code pour les pyramides doit donc ressembler à ça :
- Lbl 3
- Menu("BASE PYRAMIDE","RECTANGLE",7,"TRIANGLE",8)
- Lbl 7
- Input "COTE 1 B:",A
- Input "COTE 2 B:",B
- Input "HAUTEUR:",C
- Output(4,1,(1/3)*ABC
- Goto 0
- Lbl 8
- Input "COTE 1 B:",A
- Input "COTE 2 B:",B
- Input "COTE 3 B:",C
- Input "HAUTEUR:",D
- (A+B+C)/2→E
- √(E(E-A)(E-B)(E-C))→F 'Formule de Héron pour avoir l'aire d'un triangle avec ses 3 côtés
- Output(5,1,"VOLUME:"
- Output(5,8,FD*(1/3)
- Goto 0
Le menu pour choisir la base de la pyramide
Notre code est fonctionnel, il ne nous reste plus qu’à faire pareil pour les cônes et les cylindres. De par la similitude de leurs contraintes d’entrées, nous pouvons optimiser avec des conditions.
Cette condition fonctionne grâce à ce code :
- Lbl 4
- 1→A
- Goto 9
- Lbl 5
- 2→A
- Lbl 9
Si l’utilisateur sélectionne le cône, A prendra pour valeur 1.
Si l’utilisateur sélectionne le cylindre, A prendra pour valeur 2.
A sert donc de "levier" et permet ainsi d’économiser des lignes de codes.
Nous pouvons donc écrire notre code :
- Lbl 4
- 1→A
- Goto 9
- Lbl 5
- 2→A
- Lbl 9
- Menu("CALCUL BASE","RAYON",10,"DIAMETRE",11,"AIRE BASE",12)
- Lbl 10
- Input "RAYON:",B
- Input "HAUTEUR:",C
- Output(4,1,"VOLUME:"
- If A=1 'La condition fonctionne ici, elle modifie uniquement le calcul et, par conséquent, le résultat affiché
- Then
- Output(4,8,2B^2*π*C*(1/3)
- Else 'On n'a pas besoin de remettre un If car A n'a que deux valeurs possibles en arrivant ici : 1 ou 2
- Output(4,8,2B^2*π*C
- End
- Goto 0
- Lbl 11
- Input "DIAMETRE:",B
- Input "HAUTEUR:",C
- Output(4,1,"VOLUME:"
- If A=1 'Même principe pour la condition
- Then
- Output(4,8,2(B/2)^2*π*C*(1/3)
- Else
- Output(4,8,2(B/2)^2*π*C
- End
- Goto 0
- Lbl 12
- Input "AIRE BASE:",B
- Input "HAUTEUR:",C
- Output(4,1,"VOLUME:"
- If A=1 'Une autre condition
- Then
- Output(4,8,BC*(1/3)
- Else
- Output(4,8,BC
- End
- Goto 0
Le menu pour choisir les données pour la base du cône/cylindre
Pour finir
Voilà, notre code est terminé, il ne nous manque plus qu’à assembler les morceaux de code que nous avons créés.
Notre code répond aux exigences que nous lui avons soumis et nous avons rajouté l’aire latérale totale pour certains solides.
Vous pouvez télécharger le fichier du programme à la fin cet article.
Notre code complet
- 0→A
- Effécran
- Menu("FIGURE","CUBE",1,"PAVE DROIT",2,"PYRAMIDE",3,"CONE",4,"CYLINDRE",5,"SPHERE",6,"ANNULER",0)
- Lbl 1
- Input "ARRETE:",A
- Output(3,1,"VOLUME:"
- Output(4,1,"AIRE LAT:"
- Output(3,8,A^3
- Output(4,10,A^2*6
- Goto 0
- Lbl 2
- Input "LONGUEUR:",A
- Input "LARGEUR:",B
- Input "HAUTEUR:",C
- Output(5,1,"VOLUME:"
- Output(6,1,"AIRE LAT:"
- Output(5,8,ABC
- Output(6,10,2AB+2AC+2BC
- Goto 0
- Lbl 3
- Menu("BASE PYRAMIDE","RECTANGLE",7,"TRIANGLE",8)
- Lbl 7
- Input "COTE 1 B:",A
- Input "COTE 2 B:",B
- Input "HAUTEUR:",C
- Output(4,1,(1/3)*ABC
- Goto 0
- Lbl 8
- Input "COTE 1 B:",A
- Input "COTE 2 B:",B
- Input "COTE 3 B:",C
- Input "HAUTEUR:",D
- (A+B+C)/2→E
- √(E(E-A)(E-B)(E-C))→F
- Output(5,1,"VOLUME:"
- Output(5,8,FD*(1/3)
- Goto 0
- Lbl 4
- 1→A
- Goto 9
- Lbl 5
- 2→A
- Lbl 9
- Menu("CALCUL BASE","RAYON",10,"DIAMETRE",11,"AIRE BASE",12)
- Lbl 10
- Input "RAYON:",B
- Input "HAUTEUR:",C
- Output(4,1,"VOLUME:"
- If A=1
- Then
- Output(4,8,2B^2*π*C*(1/3)
- Else
- Output(4,8,2B^2*π*C
- End
- Goto 0
- Lbl 11
- Input "DIAMETRE:",B
- Input "HAUTEUR:",C
- Output(4,1,"VOLUME:"
- If A=1
- Then
- Output(4,8,2(B/2)^2*π*C*(1/3)
- Else
- Output(4,8,2(B/2)^2*π*C
- End
- Goto 0
- Lbl 12
- Input "AIRE BASE:",B
- Input "HAUTEUR:",C
- Output(4,1,"VOLUME:"
- If A=1
- Then
- Output(4,8,BC*(1/3)
- Else
- Output(4,8,BC
- End
- Goto 0
- Lbl 6
- Input "RAYON:",A
- Output(3,1,"VOLUME:"
- Output(5,1,"AIRE LAT:"
- Output(3,8,(4/3)*π*A^3
- Output(5,10,4πA^2
- Lbl 0
- Pause
Télécharger l’algorithme
Si besoin, se référer à ce tutoriel :
Télécharger des programmes sur sa calculatrice Texas Instrument.
Version | Algorithme final |
---|---|
Note | Version fonctionnelle |
Fichier téléchargeable |