Algorithme avec la boucle Tant que


  • P

    Bonjour,

    J'ai un programme à réaliser avec la boucle While. J'avais à compléter le programme le problème est qu'il ne fonctionne et je n'arrive pas à comprendre mon erreur:

    n prend la valeur 0
    r prend la valeur 77
    S prend la valeur 77
    Tant que 0.$85^^n$≤2/77
    n prend la valeur n+1
    r prend la valeur r*0.85
    S prend la valeur S+r
    Fin Tant que
    Afficher n

    En langage calculatrice:

    0→n
    77→r
    77→S
    While 0.85^n≤2/77
    n+1→n
    r*0.85→R
    S+r→S
    End while
    Disp "n=", n

    Merci de votre aide!:)


  • mtschoon

    Bonjour,

    C'est normal : le programme doit te donner la réponse n=0 car la boucle ne s'exécute pas .

    Pour n=0 , 0.75n75^n75n=0.75075^0750=1

    3/80=0.375

    Donc la condition 0.75^n≤3/80 est fausse pour n=0 , donc le programme "saute" la boucle et t'affiche la première valeur de n , c'est à dire 0


  • P

    Oui c'est exact ça me donne n=0, mais comment faire pour que la boucle s'éxécute?


  • mtschoon

    Une boucle "Tant que" ne peut s'exécuter que si la condition de départ de boucle est réalisée.

    Remarque : si tu ne trouves pas , il vaudrait mieux que tu donnes exactement le sujet.


  • P

    C'est un problème à résoudre:

    Un film réalise la première semaine une recette de 77 millions d'euros
    cette recette a ensuite diminué de 15% chaque semaine.
    Le réalisateur à investi 500 millions d'euros pour le film.

    Au bout de combien de semaines les recettes ont-elles permis de réaliser un bénéfice?

    1. Modéliser l'évolution des recettes à l'aide d'une suite
      (Je l'ai déjà fait)

    2. a) Compléter l'algorithme pour qu'il réponde au problème.

    b) Traduire l'algorithme en langage calculatrice

    c) Faire marcher le programme sur votre calculatrice

    d) Conclure

    1. Montrer que résoudre le problème revient à résoudre l'inéquation: 0.85^n≤2/77 (Je lai déjà fait)

    2. Résoudre cette inéquation par tâtonnement avec la calulatrice et comparer avec le résultat avec l'algorithmique.


  • P

    Je m'excuse je m'étais trompé dans le sujet.


  • mtschoon

    Si j'ai bien compris , l'agorithme est demandé au 2)a)

    Je te propose un algorithme possible ( tapé avec algobox donc tu dois le verifier et le transformer )

    n représente le nombre de semaines
    r la recette par semaine
    b est bénéfice "algébrique"

    fichier math

    ( Sauf erreur , tu dois obtenir n=23 )


  • P

    Pour le résultat quand j'ai résolus l'équation, j'ai trouvé n=22 et je vais essayer de transformer l'algorithme 😉


  • P

    Grâce à votre aide,j'ai modifié mon algorithme:

    0→n
    77→r
    -500+77≤S
    While S≤
    n+1→n
    r*0.85→R
    S+r→S
    End while
    Disp "n=", n

    Cela me donne directement le résultat n=22 mais pas 23. J'ai recalculé à la ain mon équation et je trouve 23


  • mtschoon

    C'est pour n=1( et non n=0 ) que r vaut 77


  • P

    D'accord, j'ai compris mais le problème est que dans l'énoncé n prend la valeur 0


  • mtschoon

    Relis bien l'énoncé :

    Au bout de une semaine ( n=1) , la recette est de 77 millions d'euros ( r=77) et le "bénéfice algébrique" vaut alors -500+77.

    Le programme que je t'ai suggéré commenceà n=1( au bout d'une semaine )
    C'est plus facile à programmer ainsi !

    Adapte ton programme à ta façon , bien sûr !


  • P

    D'accord merci beaucoup de votre aide et bonne fin de journée!


  • mtschoon

    C'était avec plaisir ! Bon DM.


Se connecter pour répondre