Calcul du volume des solides de l’Espace en Ti Basic


Accueil > Tutoriels > Calcul du volume des solides de l’Espace en Ti Basic

Par Fedyna K. en juillet 2019

Ce 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 :

PRGMMATHTESTS
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 :

CubePavé droitPyramideCôneCylindreSphè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 :

  1. Disp "VOL CUBE" 'Rappel: Disp affiche le texte
  2. Input "ARRETE =",A 'Rappel: Input demande une valeur en affichant un texte choisi
  3. A^3➜A
  4. Disp "VOLUME =",A
  5. Disp "UNITE AU CUBE"

Télécharger

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 :

  1. 0→A 'On initialise A à 0
  2. Effécran 'On efface l'écran pour pouvoir faire des affichages personnalisés, c'est très important
  3.  
  4. 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
  5.  
  6. Lbl 1 'Un Label, le "1"
  7. Input "ARRETE:",A
  8. Output(3,1,"VOLUME:" 'On écrit à la 3ème ligne, première position "VOLUME"
  9. Output(4,1,"AIRE LAT:" 'On ajoute quand cela est simple, la valeur de l'aire latérale totale
  10. 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)
  11. Output(4,10,A^2*6
  12. Goto 0 'On va au Label 0 (qui sera à la fin de notre code pour terminer le programme

Télécharger

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

  1. 0→A
  2. Effécran
  3.  
  4. Menu("FIGURE","CUBE",1,"PAVE DROIT",2,"PYRAMIDE",3,"CONE",4,"CYLINDRE",5,"SPHERE",6,"ANNULER",0)
  5.  
  6. Lbl 1
  7. Input "ARRETE:",A
  8. Output(3,1,"VOLUME:"
  9. Output(4,1,"AIRE LAT:"
  10. Output(3,8,A^3
  11. Output(4,10,A^2*6
  12. Goto 0
  13.  
  14. Lbl 2 'Pour cette portion, on utilise plusieurs variables car cela est nécéssaire pour la formule
  15. Input "LONGUEUR:",A
  16. Input "LARGEUR:",B
  17. Input "HAUTEUR:",C
  18. Output(5,1,"VOLUME:"
  19. Output(6,1,"AIRE LAT:"
  20. Output(5,8,ABC
  21. Output(6,10,2AB+2AC+2BC
  22. Goto 0
  23.  
  24. Lbl 6
  25. Input "RAYON:",A
  26. Output(3,1,"VOLUME:"
  27. Output(5,1,"AIRE LAT:"
  28. Output(3,8,(4/3)*π*A^3
  29. Output(5,10,4πA^2
  30.  
  31. Lbl 0
  32. Pause 'On rajoute cette fonction pour pouvoir lire le résultat

Télécharger

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 :

  1. Lbl 3
  2. Menu("BASE PYRAMIDE","RECTANGLE",7,"TRIANGLE",8)
  3.  
  4. Lbl 7
  5. Input "COTE 1 B:",A
  6. Input "COTE 2 B:",B
  7. Input "HAUTEUR:",C
  8. Output(4,1,(1/3)*ABC
  9. Goto 0
  10.  
  11. Lbl 8
  12. Input "COTE 1 B:",A
  13. Input "COTE 2 B:",B
  14. Input "COTE 3 B:",C
  15. Input "HAUTEUR:",D
  16. (A+B+C)/2→E
  17. (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
  18. Output(5,1,"VOLUME:"
  19. Output(5,8,FD*(1/3)
  20. Goto 0

Télécharger

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 :

  1. Lbl 4
  2. 1→A
  3. Goto 9
  4. Lbl 5
  5. 2→A
  6. Lbl 9

Télécharger

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 :

  1. Lbl 4
  2. 1→A
  3. Goto 9
  4. Lbl 5
  5. 2→A
  6. Lbl 9
  7. Menu("CALCUL BASE","RAYON",10,"DIAMETRE",11,"AIRE BASE",12)
  8.  
  9. Lbl 10
  10. Input "RAYON:",B
  11. Input "HAUTEUR:",C
  12. Output(4,1,"VOLUME:"
  13. If A=1 'La condition fonctionne ici, elle modifie uniquement le calcul et, par conséquent, le résultat affiché
  14. Then
  15. Output(4,8,2B^2*π*C*(1/3)
  16. Else 'On n'a pas besoin de remettre un If car A n'a que deux valeurs possibles en arrivant ici : 1 ou 2
  17. Output(4,8,2B^2*π*C
  18. End
  19. Goto 0
  20.  
  21. Lbl 11
  22. Input "DIAMETRE:",B
  23. Input "HAUTEUR:",C
  24. Output(4,1,"VOLUME:"
  25. If A=1 'Même principe pour la condition
  26. Then
  27. Output(4,8,2(B/2)^2*π*C*(1/3)
  28. Else
  29. Output(4,8,2(B/2)^2*π*C
  30. End
  31. Goto 0
  32.  
  33. Lbl 12
  34. Input "AIRE BASE:",B
  35. Input "HAUTEUR:",C
  36. Output(4,1,"VOLUME:"
  37. If A=1 'Une autre condition
  38. Then
  39. Output(4,8,BC*(1/3)
  40. Else
  41. Output(4,8,BC
  42. End
  43. Goto 0

Télécharger


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

  1. 0→A
  2. Effécran
  3.  
  4. Menu("FIGURE","CUBE",1,"PAVE DROIT",2,"PYRAMIDE",3,"CONE",4,"CYLINDRE",5,"SPHERE",6,"ANNULER",0)
  5.  
  6. Lbl 1
  7. Input "ARRETE:",A
  8. Output(3,1,"VOLUME:"
  9. Output(4,1,"AIRE LAT:"
  10. Output(3,8,A^3
  11. Output(4,10,A^2*6
  12. Goto 0
  13.  
  14. Lbl 2
  15. Input "LONGUEUR:",A
  16. Input "LARGEUR:",B
  17. Input "HAUTEUR:",C
  18. Output(5,1,"VOLUME:"
  19. Output(6,1,"AIRE LAT:"
  20. Output(5,8,ABC
  21. Output(6,10,2AB+2AC+2BC
  22. Goto 0
  23.  
  24. Lbl 3
  25. Menu("BASE PYRAMIDE","RECTANGLE",7,"TRIANGLE",8)
  26.  
  27. Lbl 7
  28. Input "COTE 1 B:",A
  29. Input "COTE 2 B:",B
  30. Input "HAUTEUR:",C
  31. Output(4,1,(1/3)*ABC
  32. Goto 0
  33.  
  34. Lbl 8
  35. Input "COTE 1 B:",A
  36. Input "COTE 2 B:",B
  37. Input "COTE 3 B:",C
  38. Input "HAUTEUR:",D
  39. (A+B+C)/2→E
  40. (E(E-A)(E-B)(E-C))→F
  41. Output(5,1,"VOLUME:"
  42. Output(5,8,FD*(1/3)
  43. Goto 0
  44.  
  45. Lbl 4
  46. 1→A
  47. Goto 9
  48. Lbl 5
  49. 2→A
  50. Lbl 9
  51. Menu("CALCUL BASE","RAYON",10,"DIAMETRE",11,"AIRE BASE",12)
  52.  
  53. Lbl 10
  54. Input "RAYON:",B
  55. Input "HAUTEUR:",C
  56. Output(4,1,"VOLUME:"
  57. If A=1
  58. Then
  59. Output(4,8,2B^2*π*C*(1/3)
  60. Else
  61. Output(4,8,2B^2*π*C
  62. End
  63. Goto 0
  64.  
  65. Lbl 11
  66. Input "DIAMETRE:",B
  67. Input "HAUTEUR:",C
  68. Output(4,1,"VOLUME:"
  69. If A=1
  70. Then
  71. Output(4,8,2(B/2)^2*π*C*(1/3)
  72. Else
  73. Output(4,8,2(B/2)^2*π*C
  74. End
  75. Goto 0
  76.  
  77. Lbl 12
  78. Input "AIRE BASE:",B
  79. Input "HAUTEUR:",C
  80. Output(4,1,"VOLUME:"
  81. If A=1
  82. Then
  83. Output(4,8,BC*(1/3)
  84. Else
  85. Output(4,8,BC
  86. End
  87. Goto 0
  88.  
  89. Lbl 6
  90. Input "RAYON:",A
  91. Output(3,1,"VOLUME:"
  92. Output(5,1,"AIRE LAT:"
  93. Output(3,8,(4/3)*π*A^3
  94. Output(5,10,4πA^2
  95.  
  96. Lbl 0
  97. Pause

Télécharger

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
volume.8xp (ZIP - 644 octets)
volume.8xp

Mots-clés