Bonjour à tous,
Dans un devoir maison, je dois faire un algorithme de façon à trouver la valeur de n pour laquelle Un+1-Un < 0.01
J'ai Un= 1+(12/5n)
Un+1= (1/5)*Un + (4/5)
U0= 13
Voici mon algorithme mais il ne fonctionne pas, pouvez m'aider à trouver mon (mes) erreur(s)
VARIABLES
Un EST_DU_TYPE NOMBRE
Un+1 EST_DU_TYPE NOMBRE
n EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
n PREND_LA_VALEUR 0
Un PREND_LA_VALEUR 1+(12/5^n)
Un+1 PREND_LA_VALEUR (1/5)*Un+(4/5)
TANT_QUE (Un+1 - Un > 0.01) FAIRE
DEBUT_TANT_QUE
n PREND_LA_VALEUR n+1
FIN_TANT_QUE
AFFICHER n
FIN_ALGORITHME
Merci de votre aide ...
Alexandre
Dans ton TANT_QUE il n'y a pas de priorité dans ton langague de programmation ?
peut-être ((Un+1-Un)>0.01)
Merci de votre réponse, j'ai essayé mais ça ne marche toujours pas
Je cherche mais je ne comprend toujours pas comment il faut faire ...
Salut,
j'ai copié/coller ton algo et ça marche très bien en effet.
tu cherche "la valeur de n pour laquelle Un+1-Un < 0.01"
Or U0=13 et U1=17/5 donc Un+1-Un < 0 donc ça renvoie n.
Ta suite est décroissante.
De plus , U0=13, U1=17/5 ce qui fait U1-U0 < 0 < 0.01
donc ton algorithme renvoie 0, si tu veux trouver la valeur de n pour laquelle Un+1-Un < 0.01.
Dans ton algo tu fait "TANT_QUE (Un+1 - Un > 0.01) FAIRE"
or ce n'est jamais vrai !
Ok, alors.
Moi j'ai fais ceci :
VARIABLES
Un EST_DU_TYPE NOMBRE
Un+1 EST_DU_TYPE NOMBRE
n EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
n PREND_LA_VALEUR 0
Un PREND_LA_VALEUR 1+(12/pow(5,n))
Un+1 PREND_LA_VALEUR (1/5)*Un+(4/5)
TANT_QUE ((Un-Un+1) > 0.01) FAIRE
DEBUT_TANT_QUE
n PREND_LA_VALEUR n+1
Un PREND_LA_VALEUR 1+(12/pow(5,n))
Un+1 PREND_LA_VALEUR (1/5)*Un+(4/5)
FIN_TANT_QUE
AFFICHER n
FIN_ALGORITHME
Si je ne met pas l'affectation de Un et Un+1 dans la boucle, j'ai un dépassement de capacité. J'imagine qu'il ne met pas les valeurs a jours avec l'incrémentation seul du n.
Par contre tu est sur que tu devais " trouver la valeur de n pour laquelle Un+1-Un < 0.01" et pas " trouver la valeur de n pour laquelle Un-Un+1 < 0.01 ????
Bonjour et encore merci pour votre aide
Mon sujet c'est:
Rédiger les questions bonus du contrôle du 13 avril, puis lma question 6)
6) a) Etant donner une suite (Un) définit par U0 = 13 et Un+1 = (1/5)Un+4/5, écrire en langage naturel un algorithme déterminant la plus petite valeur de n pour laquelle Un+1 - Un < 0.01.
b) Le programmer sur votre calculatrice ou sous algobox.
recopier le programme sur votre copie.
Après la prof s'est peut être trompée ...
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :