question
question
Bonjour
J'ai cet exercice
U=2
for i in range ( ):
U=U**2-3*U+1
print $(U)
je dois trouver quoi mettre dans la ( ) en sachant que le programme donne 11 à la fin...
Je n'y arrive pas... Merci beaucoup
J'ai cet exercice
U=2
for i in range ( ):
U=U**2-3*U+1
print $(U)
je dois trouver quoi mettre dans la ( ) en sachant que le programme donne 11 à la fin...
Je n'y arrive pas... Merci beaucoup
-
- Messages : 10354
- Enregistré le : lun. 30 août 2010 11:15
Re: question
Bonjour,
cet algorithme calcule successivement la valeur obtenue quand on part de \(2\) et qu'on applique plusieurs fois le même programme de calcul déterminé par \(f(x)=x^2-3x+1\).
Calcule d'abord \(f(2)\), puis l'image de ce résultat par \(f\), puis tu recommences encore jusqu'à obtenir \(11\). Le nombre de fois où tu as appliqué la fonction te donnera le nombre à mettre dans le range().
Bonne continuation
cet algorithme calcule successivement la valeur obtenue quand on part de \(2\) et qu'on applique plusieurs fois le même programme de calcul déterminé par \(f(x)=x^2-3x+1\).
Calcule d'abord \(f(2)\), puis l'image de ce résultat par \(f\), puis tu recommences encore jusqu'à obtenir \(11\). Le nombre de fois où tu as appliqué la fonction te donnera le nombre à mettre dans le range().
Bonne continuation
Re: question
ok merci mais comment recommencer jusqu'à avoir 11 ?
-
- Messages : 10354
- Enregistré le : lun. 30 août 2010 11:15
Re: question
Bonjour,
il faut suivre ce que je t'ai dit :
\(f(2)=val_1\)
\(f(val_1)=val_2\)
\(f(val_2)=val_3\)
....
Jusqu'à ce que tu aies 11.
Bonne continuation
il faut suivre ce que je t'ai dit :
\(f(2)=val_1\)
\(f(val_1)=val_2\)
\(f(val_2)=val_3\)
....
Jusqu'à ce que tu aies 11.
Bonne continuation
Re: question
Merci, j'ai trouvé !
Est ce que vous pourriez me donner une petite lecon sur
les instruction conditionnelle (Si .. Alors..)
Boucle Pour
Boucle Tant que
je n'arrive jamais à savoir quand est ce que je dois reprendre la valeur précédente ou pas en fait... or j'ai controle commun de maths sur toute l'année demain... J'ai peur.
Merci beaucoup
Est ce que vous pourriez me donner une petite lecon sur
les instruction conditionnelle (Si .. Alors..)
Boucle Pour
Boucle Tant que
je n'arrive jamais à savoir quand est ce que je dois reprendre la valeur précédente ou pas en fait... or j'ai controle commun de maths sur toute l'année demain... J'ai peur.
Merci beaucoup
-
- Messages : 10354
- Enregistré le : lun. 30 août 2010 11:15
Re: question
Bonjour,
cela va être difficile de revoir tout le programme d'algorithmique d'ici demain.
Peut-être peux-tu consulter ce cours : https://vincent-indy.ent.auvergnerhonea ... 7822430476
Il y a aussi les excellentes ressources d'Yvan Monka : https://www.maths-et-tiques.fr/index.ph ... orithmique
Bonnes révisions
cela va être difficile de revoir tout le programme d'algorithmique d'ici demain.
Peut-être peux-tu consulter ce cours : https://vincent-indy.ent.auvergnerhonea ... 7822430476
Il y a aussi les excellentes ressources d'Yvan Monka : https://www.maths-et-tiques.fr/index.ph ... orithmique
Bonnes révisions
Re: question
Merci !
pourriez vous juste me dire dans quel type de boucles on doit reprendre la valeur "du dessus" ? (Celle qu'on a calculé avant)
merci
pourriez vous juste me dire dans quel type de boucles on doit reprendre la valeur "du dessus" ? (Celle qu'on a calculé avant)
merci
Re: question
Par exemple ici https://www.cjoint.com/data3/LErptJeOHq4_boucle.png
est ce que U va changer (je sais que i oui mais U je sais pas)...
Merci
est ce que U va changer (je sais que i oui mais U je sais pas)...
Merci
-
- Messages : 10354
- Enregistré le : lun. 30 août 2010 11:15
Re: question
Bonjour,
on reprend la valeur précédente dès qu'il y a une affectation "récursive" c'est-à-dire lorsqu'on utilise le contenu d'une variable pour faire un calcul et que l'on remet ce calcul dans cette variable :\(U\leftarrow f(U)\). C'est le cas de ton exemple.
Autres exemples :
\(V\leftarrow 3*V+5\)
\(Z\leftarrow 8*Z^2-3\)
En revanche, si on a :
\(W\leftarrow 5^N\), ce n'est pas une affectation "récursive" car on n'utilise pas le contenu de la variable \(W\) pour re-affecter \(W\).
Est-ce plus clair ?
on reprend la valeur précédente dès qu'il y a une affectation "récursive" c'est-à-dire lorsqu'on utilise le contenu d'une variable pour faire un calcul et que l'on remet ce calcul dans cette variable :\(U\leftarrow f(U)\). C'est le cas de ton exemple.
Autres exemples :
\(V\leftarrow 3*V+5\)
\(Z\leftarrow 8*Z^2-3\)
En revanche, si on a :
\(W\leftarrow 5^N\), ce n'est pas une affectation "récursive" car on n'utilise pas le contenu de la variable \(W\) pour re-affecter \(W\).
Est-ce plus clair ?
-
- Messages : 10354
- Enregistré le : lun. 30 août 2010 11:15
Re: question
Dans ton exemple,
\(U\) va bien changer et on est bien sur une réutilisation de la valeur précédente pour trouver la valeur suivante et la mettre à la place.
Bonne continuation
\(U\) va bien changer et on est bien sur une réutilisation de la valeur précédente pour trouver la valeur suivante et la mettre à la place.
Bonne continuation