Programmation SciLab

Résolu
remyj38 Messages postés 38 Date d'inscription   Statut Membre Dernière intervention   -  
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

voici le texte de mon prgramme

m=input("masse en kilo : ")
t=input("taille en mètre : ")
IMC=m/(t^2)
afficher("L IMC est de : "+string(IMC))
if IMC<15 afficher("famine, risques extrêmement élevés de maladie"), end
if IMC=15 & 15<IMC & IMC<18.5 afficher("maigreur, risques accrus de maladie"), end
if IMC=18.5 & 18.5<IMC & IMC<25 afficher("corpulence normale, risquesfaibles de maladie"), end
if IMC=25 & 25<IMC & IMC<30 afficher("surpoids, risques accrus de maladie"), end
if IMC=30 & 30<IMC & IMC<35 afficher("obésité modérée, risques élevés de maladie"), end
if IMC=35 & 35<IMC & IMC<40 afficher("obésité sevère, risques treès élevés de maladie"), end
if IMC=40 & IMC>40 afficher("obésité morbide ou massive, risques extrêmement élevés de maladie"), end

je n'arrive pas a finir les conditions: pour la 1ere, ca marche mais pas pour les autres.

merci d'avance.
A voir également:

1 réponse

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Tu as trop de conditions !
Par exemple : IMC=15 & 15<IMC & IMC<18.5 ne sera jamais vrai.
Il n'existe aucune valeur IMC qui peut être à la fois =15 et >15 !

De plus il faut mettre des then et éventuellement des else.

if IMC<15 then 
   afficher(...) 
   else if IMC<18.5 then // le else implique que IMC>=15 
           afficher(...) 
           else ... 
        end 
end

La confiance n'exclut pas le contrôle
1
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
j'ajouterai que je crois que si tu fais IMC=15, tu affecte 15 à IMC. Après, peut être que dans scilab il y a une différence entre test et affectation su tu es dans une commande if, mais j'en doute.
0