Programmation TI-82. IMC

julien62100 Messages postés 92 Statut Membre -  
 random -
Bonsoir !
Alors voilà j'ai dois faire un programme d'IMC sur ma TI-82, jusque là aucun problème. On m'a aidé à trouver etc, j'ai réussi mais le problème c'est que je voudrais rajouter au dessus de SURPOIDS, OBESE. Mais je n'y arrive pas, ça me met toujours SURPOIDS et OBESE en même temps..
Voici le programme sans OBESE.

:Input "M (en kg)=",M
:Input "T (en m)=",T
:M/T²->A
: Disp "IMC=",A
:If A<18
:Then
: Disp "MAIGRE"
:Else
:If A>25
:Then
: Disp "SURPOIDS"
:Else
: Disp "NORMAL"
:End

Et celui avec OBESE

:Input "M (en kg)=",M
:Input "T (en m)=",T
:M/T²->A
: Disp "IMC=",A
:If A<18
:Then
: Disp "MAIGRE"
:Else
:If A>25
:Then
: Disp "SURPOIDS"
:Else
:If A>30
:Then
: Disp "OBESE"
:Else
: Disp "NORMAL"
:End

Je ne sais pas d'où vient le problème, si vous pourriez m'aider ce serait sympa.
Merci au revoir !

2 réponses

  1. xosaci Messages postés 56 Statut Membre 8
     
    Salut,
    Tu peux essayer de mettre ta deuxième condition à l'intérieur de la première (apres le Then), comme sa tu test si c'est supérieur a 25 puis 30 si > 30 t'affiches obese, et après la realisation de cette condition tu peux afficher surpoids ! :)
    J'espère que c'est bien sa que tu voulais faire !
    0
  2. ccm81 Messages postés 11033 Statut Membre 2 434
     
    bonjour

    tu aurais intérêt à utiliser le même type de test dans tes si ... alors
    par exemple avec <

    :If A<18
    :Then
    : Disp "MAIGRE"
    :Else
    :If A<25
    :Then
    : Disp "NORMAL"
    :Else
    :If A<30
    :Then
    : Disp "SURPOIDS"
    :Else
    : Disp "OBESE"
    :End 

    RQ. il te faut aussi réfléchir aux bornes de tes intervalles d' IMC, peut être utiliser le test "inférieur ou égal" au lieu de "inférieur"

    bonne suite
    -1
    1. random
       
      Salut,

      C'est parce que tu dois définir des bornes; quand A>30, il est également >25, ce qui fait que ça affichera "surpoids" et "obèse"
      Essaye avec "If 25<A<30"
      0
      1. random > random
         
        Ou plutôt
        If 25</=A et A<30
        Then
        Disp "surpoids"
        0