Page 1 sur 1
Programme de calcul
Posté : sam. 26 sept. 2015 09:00
par Claire
Bonjour.
J'ai besoin d'aide pour un petit exercice.
On considère une suite u(n) définie par : u(0) = 2 ; u(1) = 4 et sa relation de récurrence u(n+2) = 4u(n+1) - u(n)
-> Écrire un programme permettant de calculer le nième terme de la suite.
J'ai calculé les premiers termes pour voir :
u(2) = 14
u(3) = 52
u(4) = 194
Mais comment fait-on le programme ?
Re: Programme de calcul
Posté : sam. 26 sept. 2015 10:43
par SoS-Math(9)
Bonjour Claire,
Je suppose que tu veux un algorithme ...
Dans ce type d'exercice, il s'agit de faire une boucle itérative :
u reçoit 2
v reçoit 4
Pour i = 1 à n
... (instructions pour calculer u(n))
Fin de pour
Afficher u.
A toi de compléter les instructions pour calculer u(n).
SoSMath.
Re: Programme de calcul
Posté : sam. 26 sept. 2015 17:03
par Claire
J'essaie avec ma calculatrice mais ça ne marche pas.
Voilà ce que j'ai tapé :
Affecter à u la valeur 2
Affecter à v la valeur 4
Pour i allant de 1 à n faire
Affecter à v la valeur 4v-u
Afficher v en sortie
Je ne trouve pas du tout les valeurs attendues...
Re: Programme de calcul
Posté : sam. 26 sept. 2015 17:44
par SoS-Math(9)
C'est normal Claire ...
Tout d'abord il y a un problème avec ta boucle. Elle va de 1 à n ...
Or tu as déjà U0 et U1, donc ta boucle commence à 2 jusqu'à n.
Ensuite dans ta boucle, tu ne modifies jamais u ...
Quand tu écris "Affecter à v la valeur 4v-u" cela veut dire "U(n+2) = 4U(n+1)-U(n)"
Donc u = U0 au départ, mais ensuite u = U1 puis U2 ....
Je te laisse modifier ton algorithme.
SoSMath.
Re: Programme de calcul
Posté : sam. 26 sept. 2015 17:50
par Claire
Je ne comprends rien. Je dois ajouter 1 à u et v dans le programme ?
Re: Programme de calcul
Posté : sam. 26 sept. 2015 18:15
par SoS-Math(9)
Non Claire,
Ce que tu as fait est bien mais incomplet ....
avant la boucle u=U0 et v=U1
dans ta boucle
pour i=2
tu calcules U2 = v qui prend la valeur 4v-u = 4U1-U0
pour i=3
tu calcules U3 = v qui prend la valeur 4v-u = 4U2-U1 or ici tu n'as pas modifier u, donc u est toujours égal U0...
Donc dans ta boucle il faut affecter à u la valeur de v avant de modifier v...
SoSMath.
Re: Programme de calcul
Posté : sam. 26 sept. 2015 18:20
par Claire
Même en faisant cela (j'ajoute "Affecter à u la valeur v" après le "Affecter à v la valeur 4v-u") je n'obtiens pas les bonnes valeurs.
Re: Programme de calcul
Posté : sam. 26 sept. 2015 18:25
par SoS-Math(9)
Claire,
il faut prendre le temps de lire les messages ... j'ai dit "AVANT de modifier v".
SoSMath.
Re: Programme de calcul
Posté : sam. 26 sept. 2015 18:28
par Claire
Ça ne fonctionne toujours pas.
Re: Programme de calcul
Posté : sam. 26 sept. 2015 18:33
par SoS-Math(9)
Claire,
voici l'algorithme :
Lire n
Affecter à u la valeur 2
Affecter à v la valeur 4
Pour i allant de 2 à n faire
Affecter à u la valeur v
Affecter à v la valeur 4v-u
fin de pour
Afficher v
SoSMath
Re: Programme de calcul
Posté : sam. 26 sept. 2015 18:44
par Claire
Pourquoi est-ce que je ne retrouve pas les valeurs calculées dans le premier message ?
Re: Programme de calcul
Posté : sam. 26 sept. 2015 19:30
par SoS-Math(9)
Claire,
C'est normal ! En effet dans la boucle j'ai modifié u avant de l'avoir utilisé pour le calcul de v ...
Donc il faut utiliser une variable intermédiaire (ici a) pour éviter ce problème !
Lire n
Affecter à u la valeur 2
Affecter à v la valeur 4
Pour i allant de 2 à n faire
Affecter à a la valeur v
Affecter à v la valeur 4v-u
Affecter à u la valeur a
fin de pour
Afficher v
SoSMath.
Re: Programme de calcul
Posté : sam. 26 sept. 2015 20:48
par Claire
D'accord ! C'était ça qui bloquait. C'était laborieux mais j'ai compris.
Re: Programme de calcul
Posté : sam. 26 sept. 2015 20:59
par SoS-Math(9)
A bientôt Claire,
SoSMAth.