Bonjour, voici un exercice :
1)On considère l'algorithme suivant :
P prend la valeur 1
U prend la valeur 2
Saisir N
Tant que P est inférieur ou égal à N :
U prend la valeur 2*U-1
P prend la valeur P+1
Fin de boucle
Afficher U
Je choisis 3 comme valeur de N. Compléter ce qu'affiche l'écran :
N=?3
2) On modifie l'algorythme :
P prend la valeur 1
U prend la valeur 2
Saisir N
Tant que P est inférieur ou égal à N :
U prend la valeur 2*U-1
Afficher U
P prend la valeur P+1
Fin de boucle
a) Je choisis 3 comme valeur de N. Compléter ce qu'affiche l'écran :
N=?3
b) Définir la suite utilisée dans cet algorithme
c) Utiliser l'un des deux algorithme pour programmer la machine ( on recopiera son programme sur la copie ), et calculer u10,u25 ,u100 et u200.
Est ce que quelqu'un pourrais m'aider car je ne l'ai pas encore vue en cours et je ne comprends pas trop. Merci
Pour l'instant j'ai mis
P=1 U=2
On a N=3
Tant que P est inférieur ou égal à N :
P=2, U = 2*2-1=3
Tant que P est inférieur ou égal à N :
P=3, U = 2*2-1=3
Pouvez vous me dire si c'est bon
bonsoir
bonsoir
1)
P=1, U = 2, N=3
P N donc l'algo calcule U = 2*2-1 = 3
P prend la valeur P+1 ---> P = 2
P N donc l'algo calcule U = 3*2-1 = ? [u]
P prend la valeur P+1 ---> P = 3
etc.
C'est là que je ne comprends pas
On dit que U=2*U-1
Pourquoi on prends P, pour le U dans 2*U-1=2*3-1
Merci
P , c'est une espèce de "compteur"
tu as entré 3
et P=1 et l'on sait aussi que U=2
Que va-t-il se passer au niveau du compteur
Après P=1, le compteur marquera P=(1+1)=2
quand le compteur indiquait 1, U était égal à 2
Quand le compteur indique 2 ,
alors , la valeur de U va changer
et deviendra U = 2*2-1 = 3 comme l'a indiqué carita que je salue
bref, P est un compteur et tant que ce compteur n'indique pas 3, alors la "machine" va continuer de calculer.
Mais l'algo va-t-il s'arrêter ?
non parce P n'as pas encore atteint la valeur 3
As-tu essayé avec algobox ?
non, on ne prend pas la valeur de P
on prend la dernière valeur de U
l'instruction : U prend la valeur 2*U-1
signifie :
- tu prends (le nombre contenu dans) U
- tu le multiplies par 2, et tu soustrais 1
- tu ranges le résultat dans U
donc, après ce calcul, la variable U contient une nouvelle valeur (qui efface l'ancienne)
tu comprends?
Bonsoir Kevano27,
Le 3 et le 5 ok mais pourquoi 9, car on dit que P doit être inférieur ou égal à N. Et là on dis que N = 3, Donc P inférieur ou égal à 3, tandis que le 9 on l'obtient en P=5
Merci
regarde ce qu'a écrit carita
bonsoir
je te conseille de faire un petit tableau à 3 colonnes sur ton brouillon : P U N
puis tu fais tourner l'algo à la main, depuis le début,
tu suis les instructions,
et au fur et à mesure, tu remplis le tableau.
je t'aide pour le début :
P U N
P prend la valeur 1 ------ ----------------> 1
U prend la valeur 2 -----------------------> 2
Saisir N -----------------------> 3
Tant que P N : (c'est le cas puisque 1<3)
U prend la valeur 2*U-1 -----2*2-1------> 3
P prend la valeur P+1 ---------1+1--------> 2
Fin de boucle : on retourne à la ligne "tant que"
Tant que P N : (c'est encore le cas puisque P=2 et N=3)
U prend la valeur 2*U-1 ------------------> ?
P prend la valeur P+1 ----------------------> ?
Fin de boucle : on retourne à la ligne "tant que"
etc.
--------
lorsque N sera > P,
on ne rentrera plus dans la boucle "tant que" :
on ira directement à la ligne après "Fin de boucle", c'est-à-dire "afficher U"
as-tu compris comment ça marche ?
allez, essaie !
et montre nous quel tableau tu obtiens
quand on a U=5
le compteur est à 2 ou P=2
et 2<3
donc, P va prendre la valeur 2+1=3
Tu vas donc trouver U=9
et le compteur s'arrêtera là
désolée Kenavo, j'aurais dû rafraichir la page avant d'envoyer :/
je vous laisse terminer tranquillement.
bonne soirée à tous !
bonsoir carita,
Je pense que coatch doit utiliser algobox pour une meilleure compréhension.
Je te laisse
kenavo27 ok, je reste
c'est vrai qu'algobox est super,
le pb, c'est que coatch ne l'a pas encore vu en classe.
peut-être son professeur souhaite faire réfléchir sur la logique d'un algorithme avant ? (?)
a+
Ok merci carita,
Le premier algorithme est:
P=1, U=2 et N=3
Donc P doit être inférieur ou égal à n
P=1, U=2*2-1=3
P=2, U=2*3-1=5
P=3, U=2*5-1=9
L'algorithme s'arette car le P qui suit est P=4, et on dit que P est inférieur ou égal à 3 donc l'algo s'arette.
L'écran affichera :
N=3
U=9
Le deuxième algorithme est :
Ce sera les mêmes résultats sauf que l'écran affichera
N=3
U=3, 5, 9
Merci
Par contre pour la b) Définir la suite utilisée dans cet algorithme
b) Cette suite est une suite récurrente est elle est définit par 2*un-1
Est ce que j'ai bon ?
bonjour
c'est ça.
sur le second algo, l'instruction "afficher U" fait partie de la boucle "tant que - fin de boucle",
et donc toutes les valeurs calculées pour U seront successivement affichées.
b) oui,
la suite numérique est définie par récurrence par :
{Un+1 = 2Un - 1
{U1 = ...........? ----- quelle est la valeur de son premier terme ?
Bonjour carita,
Je sais que Un+1= 2Un-1 donc U1= 2*U1-1 mais la valeur de U1 je ne sais pas comment le trouver mais pour la
c) U10=2*10-1=19
U25=2*25-1=49
U100=2*100-1=199
U200=2*200-1=399
mais la valeur de U1 je ne sais pas comment le trouver
tu trouveras la valeur de U1 dans l'algo : c'est la valeur initiale qui a été attribuée à U...
ensuite, ce que tu as écrit est faux :
on a ici une suite définie par récurrence : c'est-à-dire que pour calculer le terme Un+1 de rang n+1,
il faut auparavant avoir calculé le terme Un (le précédent)
donc pour calculer U200, il faudrait calculer U199 avant
pour calculer U199, il faudrait calculer U198 avant
tu vois la galère si on doit le faire à la main ?
==> l'algorithme, programmé dans la machine, peut faire tous ces calculs à ta place,
et rapidement.
lequel tu vas choisir pour afficher seulement U200?
et quelle valeur N tu devras saisir au début ?
---
note :
dans la réponse que tu as faite,
tu confonds avec les suites définies explicitement en fonction de n:
exemple : Vn = 5n+7
dans ce cas, il suffit de remplacer n par 100 pour calculer directement V100 = 5*100+7 = 507
... mais pas avec les suites définies par récurrence.
capito ?
Quand il nous dit " Je choisis 3 comme valeur de N = N=?3" ça veut dire qu'il faut aller jusqu'au 3eme termes
ou alors, réponds à la question suivante :
quand tu as trouvé U = 9
ça correspondait à U indice combien ?
oui,
N correspond à l'indice du terme à calculer
exemple : U3 = 9
donc pour avoir U200 à l'affichage en sortie, on saisira N = 200
attends, j'ai dit une bêtise
il faut que le premier terme soit d'indice 0
U0 = 2
U1 = 3
U2 = 5
U3 = 9
le terme, c'est un nombre dans la liste (suite);
ici les premiers termes de la suite U sont :
2 ; 3 ; 5 ; 9 ; 17 ; 33, etc
l'indice permet de repérer (ordonner) un terme dans la suite : 0 ; 1; 2; 3; 4
c'est l'entier naturel écrit à droite du nom de la suite
U0 = 2 'U indice 0" est égal à 2
U1 = 3 'U indice 1" est égal à 3
etc.
est-ce clair comme ça ?
Donc je recopie
P prend la valeur 1
U prend la valeur 2
Saisir N ---> mais le N=200
Tant que P est inférieur ou égal à N :
U prend la valeur 2*U-1
P prend la valeur P+1
Fin de boucle
Afficher U
c'est ça.
tu programmes cet algo sur ta calculette, puis
tu feras tourner le programme pour trouver les termes demandés.
donc avec N = 10
puis N = 25
etc.
ah zut,
là par contre, je ne serais pas d'une grande aide :/
tu n'en as jamais en cours, des petits programmes ?
quelle machine tu as ?
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :