Nichene Posté(e) le 28 décembre 2017 Signaler Posté(e) le 28 décembre 2017 Bonjour à tous, svp j'ai vraiment besoin d'aide sur cet exercice niveau seconde. Pour le langage naturel je propose : Saisir x Si x_<100 (le tiret signifie strictement) Alors x prend la valeur x-10 Son Si 100_> x et x<200 Alors x prend la valeur x-25 Sinon x_> 200 Alors x prend la valeur x-20% (soit x × 1,02) Fin Fin Afficher x Donc en langage Ti cela donne : Prompt x If x_< 100 Then x-10 Élise If 100_< x et x <200 Then x-25 Élise x_> 200 Then x × 1,02 End End Disp x Voilà l'algorithme que je propose mais une fois sur calculatrice je ne trouve pas le bon résultat avec 150,175 et 300 Svp si vous pouvez m'aider, merci d'avance Commentaires (1) Signalement d'un ab a RÉPONDRE VOIR PLUS
E-Bahut PAVE Posté(e) le 28 décembre 2017 E-Bahut Signaler Posté(e) le 28 décembre 2017 Bonsoir, 1) Un peu de bon sens cela évite les torticolis.... 2) Le langage TI ne m'est pas familier mais pour sûr, quand je lis dans ton programme TI ce qui suit, cela ne m'étonne pas qu'il ne fonctionne pas : Regarde mieux ta documentation : else qui se traduit par "sinon" conviendrait mieux que Élise.... il faut respecter les commandes à la lettre . Quant à la 2ème ligne qui mélange anglais (if) et français (et), c'est non conforme à la syntaxe du langage TI. 3) Si le prix est réduit de 20%, il n'est pas multiplié par le coefficient que tu as utilisé mais par... 4) Il n'y a pas de remise pour les achats inférieurs à 20 €. Tu n'en as pas tenu compte.
E-Bahut julesx Posté(e) le 29 décembre 2017 E-Bahut Signaler Posté(e) le 29 décembre 2017 Comme je ne sais pas exactement comment vous a été présenté en cours la syntaxe d'un algorithme en "langage naturel", je zappe cette partie. Simplement, je pense qu'il est préférable de définir deux variables, le montant à saisir et le prix à payer. C'est toujours préférable quand on fait plusieurs tests imbriqués sur une donnée, de façon à éviter que la modification par le calcul de l'entrée se répercute sur un des tests suivants. Sinon, pour le programme en TI, comme l'a dit PAVE, regarde bien la documentation et tient compte de la façon de récupérer les instructions. Je t'ai mis ci-dessous un listing. Je l'ai essayé, je n'ai pas obtenu d'incohérence. Je te conseille cependant de l'essayer également pour d'autres valeurs que celles données dans l'énoncé, par exemple, 15, 50, 100 et 200, pour voir si tu obtiens bien les bons résultats. :ClrHome :Input "MONTANT ",M :If M<20 :Then :M→P :Else :If M<100 :Then :M-10→P :Else :If M≥100 and M<200 :Then :M-25→P :Else :0.8*M→P :End :End :End :Disp "PRIX A PAYER",P
E-Bahut PAVE Posté(e) le 29 décembre 2017 E-Bahut Signaler Posté(e) le 29 décembre 2017 Bonjour Jules, Dans ton programme, tu as respecté l'idée de Nichene de mettre un "et" mais il me semble que cela devrait fonctionner avec simplement : Avec Algobox, cela tourne ainsi. Cordialement. PS : J'ai essayé de t'envoyer ce message en "privé" mais cela n'a pas été possible.... sans doute que dans ton profil tu as dit ne pas vouloir recevoir ce type de messages.
E-Bahut julesx Posté(e) le 29 décembre 2017 E-Bahut Signaler Posté(e) le 29 décembre 2017 Bonjour PAVE, Exact, le M>=100 est superflu puisqu'on fonctionne avec des If-Then-Else. Mea culpa, j'ai suivi sans réfléchir la démarche de Nichene. Faut dire que l'age avançant, les réflexes ne sont plus les mêmes . Cordialement. P.S.: J'ai effectivement désactivé la réception des messages privés.
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.