Poster un nouveau sujet Poster une réponse
IMC problème..
Auteur Message
None



Autorisation : Membre
Nb de messages : 5
Inscrit le : Mer 10 Oct 2012, 20:06
Posté le : Mer 10 Oct 2012, 20:10   Citer 

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 ! bigmouth.gif

 Adresse email Haut de page Bas de page 
 
Samos



Autorisation : Membre
Nb de messages : 295
Inscrit le : Lun 14 Mai 2012, 18:51
Posté le : Mer 10 Oct 2012, 20:26   Citer 


Code

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



Voila!
Lorsqu'on ne met pas de Then, la condition éxecute juste la ligne suivante.
Tu avais oublié de préciser que la masse est comprise entre 25 et 30 pour le surpoids.
Si la personne à un indice de 35, Il aurait été en surpoids et en obesité avec ton ancien programme clown.gif

 Adresse email Haut de page Bas de page 
 
blg_flg



Autorisation : Membre
Nb de messages : 646
Inscrit le : Mer 23 Mai 2012, 17:28
Posté le : Mer 10 Oct 2012, 20:29   Citer 

Remarque, une personne obèse est aussi en surpoids, donc ce n'était pas entièrement faux. happy.gif

 Adresse email Haut de page Bas de page 
 
None



Autorisation : Membre
Nb de messages : 5
Inscrit le : Mer 10 Oct 2012, 20:06
Posté le : Mer 10 Oct 2012, 20:40   Citer 

Bonsoir, merci de votre réponse mais
:Input "M (en kg)=",M
:Input "T (en m)=",T
:M/T² -> A
: Disp "IMC=",A
:If A<18
:Disp "MAIGRE"
:If A>25 et A <= 30
:Disp "SURPOIDS"
:If A>30
:Disp "OBESE"
:If A >= 18 et A <= 25
:Disp "NORMAL"

C'est supérieur ou égal / inférieur ou egal ? ? Est-ce que je met le ET ?
Merci d'avance.

 Adresse email Haut de page Bas de page 
 
blg_flg



Autorisation : Membre
Nb de messages : 646
Inscrit le : Mer 23 Mai 2012, 17:28
Posté le : Mer 10 Oct 2012, 20:55   Citer 

<= correspond à inférieur ou égal et >= à supérieur ou égal.

Et il faut que tu mettes le "et" (ou "and" si ta calto est en anglais) du menu "test". winkle.gif

 Adresse email Haut de page Bas de page 
 
None



Autorisation : Membre
Nb de messages : 5
Inscrit le : Mer 10 Oct 2012, 20:06
Posté le : Mer 10 Oct 2012, 20:59   Citer 

J'ai fait exactement le même programme, mais j'ai une erreur syntaxe :/

 Adresse email Haut de page Bas de page 
 
Google_AdSense



Publicité    



 
blg_flg



Autorisation : Membre
Nb de messages : 646
Inscrit le : Mer 23 Mai 2012, 17:28
Posté le : Mer 10 Oct 2012, 21:02   Citer 

Où ça?

 Adresse email Haut de page Bas de page 
 
None



Autorisation : Membre
Nb de messages : 5
Inscrit le : Mer 10 Oct 2012, 20:06
Posté le : Mer 10 Oct 2012, 21:04   Citer 

Quand je fais 90 kg pour 1M60, ça me fait erreur syntaxe.
Après je reclique sur entrer et ça me met l'IMC mais sans OBESE, Ni surpoids..

J'ai reproduit ce programme, à l'identique sans les Then, Else et End


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



Je dois les laisser ?

 Adresse email Haut de page Bas de page 
 
blg_flg



Autorisation : Membre
Nb de messages : 646
Inscrit le : Mer 23 Mai 2012, 17:28
Posté le : Mer 10 Oct 2012, 21:25   Citer 

Fais "VOIR" et indique nous où est le bug. winkle.gif

 Adresse email Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Mer 10 Oct 2012, 21:31   Citer 

L'espace en début de ligne est une faute de frappe, tu ne devrais pas l'avoir copié mais puisque tu plantes je propose quand même.

Celle DES solutions la plus complète est la suivante ; j'ai ajouté des indentations pour mettre en valeur la structure des boucles.
Il y a bien d'autres solutions mais elles sont moins rigoureuses.
Code
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 "NORMAL"
 Else
  If A<=30
  Then
   Disp "SURPOIDS"
  Else
   Disp "OBESE"
  End
 End
End


EDIT 15/10/2012 : solution économe en If (mais pas en condition) :

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



----------------------
ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)

Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store
 Adresse email Haut de page Bas de page 
 
None



Autorisation : Membre
Nb de messages : 5
Inscrit le : Mer 10 Oct 2012, 20:06
Posté le : Mer 10 Oct 2012, 21:45   Citer 

Re, j'ai réussi le programme.

Merci à vous ! bigmouth.gif

 Adresse email Haut de page Bas de page 
 
thedarkprogrammeur
Invité
Posté le : Dim 14 Oct 2012, 22:29   Citer 

C'est marrant , j'ai déjà créé le même programme sur ma TI bigmouth.gif cupsmiley.gif

  Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Dim 14 Oct 2012, 22:35   Citer 

Je le vois en deux ou trois exemplaires chaque année. winkle.gif

----------------------
ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)

Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store
 Adresse email Haut de page Bas de page 
 
thedarkprogrammeur
Invité
Posté le : Dim 14 Oct 2012, 22:45   Citer 

moi le mien il est comme cela:
:EffEcr
:Input "VOTRE POID (KG) ",M
:Input "VOTRE TAILLE (M)",T
:M/(T²)->R
:EffEcr
:Disp "VOTRE IMC EST DE",R
:If R <= 12:Disp"ANNOREXIE GRAVE"
:If R > 12 et R <= 16.5 : Disp "DENUTRITION"
:If R > 16.5 et R <= 18.5 : Disp "MAIGREUR"
:If R > 18.5 et R <= 25 : Disp "POID CORRECT"
:If R > 25 et R <= 30 : Disp "SURPOID"
:If R > 30 et R <= 35 : Disp "OBESITE MODEREE"
:If R > 35 et R <= 40 : Disp "OBESITE SEVERE"
:If R >40 : Disp "OBESITE MORBIDE"

Voilà, dans ma version, je n'ai pas mit de "Then...End", est-ce que vous pensez que c'est indispensable? ou que sa n'affecte pas du tout le programme quand il est écrit sous cette forme ?
Merci encore

  Haut de page Bas de page 
 
Google_AdSense



Publicité    



 
linkakro



Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Dim 14 Oct 2012, 22:50   Citer 

Cela n'affecte pas le programme car les conditions sont strictement exclusives (il ne peut pas y en avoir deux de vrai en même temps) et que les instructions qui en dépendent ne font qu'une seule ligne.

----------------------
ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)

Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store
 Adresse email Haut de page Bas de page 
 
thedarkprogrammeur
Invité
Posté le : Dim 14 Oct 2012, 23:34   Citer 

donc ma version est ok happy.gif

  Haut de page Bas de page 
 
thedarkprogrammeur
Invité
Posté le : Dim 14 Oct 2012, 23:38   Citer 

attention none il y a plusieurs boucles que tu n'a pas fermé, suis l'exemple que linkakro te donne au dessus glasses.gif (je voulais mettre un smiley clin d'oeil, mais comme y'en a pas , je met celui là)

  Haut de page Bas de page 
 
blg_flg



Autorisation : Membre
Nb de messages : 646
Inscrit le : Mer 23 Mai 2012, 17:28
Posté le : Lun 15 Oct 2012, 20:58   Citer 

HS: Fais ; ) (sans l'espace) winkle.gif

 Adresse email Haut de page Bas de page 
 
Poster un nouveau sujet Poster une réponse





  Page générée en 6 requêtes