| 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
|
|
|
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 ! 
|
 |
|
| |
Samos
Autorisation : Membre
Nb de messages : 295
Inscrit le : Lun 14 Mai 2012, 18:51
|
Posté le : Mer 10 Oct 2012, 20:26
|
|
|
| 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 
|
 |
|
| |
blg_flg
Autorisation : Membre
Nb de messages : 646
Inscrit le : Mer 23 Mai 2012, 17:28
|
Posté le : Mer 10 Oct 2012, 20:29
|
|
|
Remarque, une personne obèse est aussi en surpoids, donc ce n'était pas entièrement faux. 
|
 |
|
| |
None
Autorisation : Membre
Nb de messages : 5
Inscrit le : Mer 10 Oct 2012, 20:06
|
Posté le : Mer 10 Oct 2012, 20:40
|
|
|
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.
|
 |
|
| |
blg_flg
Autorisation : Membre
Nb de messages : 646
Inscrit le : Mer 23 Mai 2012, 17:28
|
Posté le : Mer 10 Oct 2012, 20:55
|
|
|
<= 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". 
|
 |
|
| |
None
Autorisation : Membre
Nb de messages : 5
Inscrit le : Mer 10 Oct 2012, 20:06
|
Posté le : Mer 10 Oct 2012, 20:59
|
|
|
J'ai fait exactement le même programme, mais j'ai une erreur syntaxe :/
|
 |
|
| |
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
|
|
|
Où ça?
|
 |
|
| |
None
Autorisation : Membre
Nb de messages : 5
Inscrit le : Mer 10 Oct 2012, 20:06
|
Posté le : Mer 10 Oct 2012, 21:04
|
|
|
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 ?
|
 |
|
| |
blg_flg
Autorisation : Membre
Nb de messages : 646
Inscrit le : Mer 23 Mai 2012, 17:28
|
Posté le : Mer 10 Oct 2012, 21:25
|
|
|
Fais "VOIR" et indique nous où est le bug. 
|
 |
|
| |
linkakro
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
|
Posté le : Mer 10 Oct 2012, 21:31
|
|
|
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 |
 |
|
| |
None
Autorisation : Membre
Nb de messages : 5
Inscrit le : Mer 10 Oct 2012, 20:06
|
Posté le : Mer 10 Oct 2012, 21:45
|
|
|
Re, j'ai réussi le programme.
Merci à vous ! 
|
 |
|
| |
thedarkprogrammeur
Invité
|
Posté le : Dim 14 Oct 2012, 22:29
|
|
|
C'est marrant , j'ai déjà créé le même programme sur ma TI 
|
| |
|
| |
linkakro
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
|
Posté le : Dim 14 Oct 2012, 22:35
|
|
|
Je le vois en deux ou trois exemplaires chaque année. 
---------------------- 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 |
 |
|
| |
thedarkprogrammeur
Invité
|
Posté le : Dim 14 Oct 2012, 22:45
|
|
|
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
|
| |
|
| |
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
|
|
|
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 |
 |
|
| |
thedarkprogrammeur
Invité
|
Posté le : Dim 14 Oct 2012, 23:34
|
|
|
donc ma version est ok 
|
| |
|
| |
thedarkprogrammeur
Invité
|
Posté le : Dim 14 Oct 2012, 23:38
|
|
|
attention none il y a plusieurs boucles que tu n'a pas fermé, suis l'exemple que linkakro te donne au dessus (je voulais mettre un smiley clin d'oeil, mais comme y'en a pas , je met celui là)
|
| |
|
| |
blg_flg
Autorisation : Membre
Nb de messages : 646
Inscrit le : Mer 23 Mai 2012, 17:28
|
Posté le : Lun 15 Oct 2012, 20:58
|
|
|
HS: Fais ; ) (sans l'espace) 
|
 |
|
| |