Bonjour
J'ai ce programme:
entrer n
p prend la valeur 1
u prend la valeur 1
tant que p<n
u prend la valeur u*p
p prend la valeur p+1
fin du tant que
afficher n
afficher le terme de rang n
écrire u
calculer les termes u1;u2;u3;u4
je me suis fait le tableau suivant :
p u
1 1
2 1
3 2
4 6
5 24
j'ai choisi d'entrer n=5
on sort à ce moment de la boucle c'est bien ça?
et j'ai u4=6
u5=24 ( non demandé)cad 1*2*3*4
interpréter ce que un calcule
un calcule le produit des (n-1) premiers entiers.
c'est bien ça?
je m'étonne juste du décalage (n-1)
A quoi correspond ton tableau ?
Place des points d'observations dans ton programme pour que ton tableau ait un sens:
entrer n
p prend la valeur 1
u prend la valeur 1 {1}
tant que p<n
u prend la valeur u*p {2}
p prend la valeur p+1 {3}
fin du tant que
afficher n
afficher le terme de rang n
écrire u {4}
Dans ton tableau, rajoute à gauche une colonne où tu indiques par quels points d'observation successifs tu passes. Remarque que la dernière valeur de p n'est pas prise en compte dans le dernier calcul de u . D'où sans doute ce que tu appelles "décalage".
bonjour boninmi
et bien c'est mon tableau de fonctionnement de l'algorithme
dans ma 1ère ligne p et u prennent la valeur 1
2è ligne p*u = 1*1=1 et p prend la valeur p+1=2
c'est juste?
"des points d'observation"? c'est ce que tu mets entre les {} ?
Oui, {1}, {2}, {3}, {4} désignent des points d'observations. Cette notion est fondamentale. Tu imagines que tu stoppes le programme à cet endroit et que tu regardes alors quelles valeurs ont tes variables. Il n'y a pas les deux points d'observation {2} et {3} dans ton tableau. Tu en sautes un. C'est très important d'indiquer les deux, de voir combien de fois on passe par la succession {2}, {3} :
p u n
{1} 1 1 5
{2} 1 1 5
{3} 2 1 5
{2} 2 2 5
{3} 3 2 5
{2}
{3}
........
{4}
Je te laisse compléter ...
je ne comprends pas ta 2ème ligne : on a p*u=1*1=1 mais p prend la valeur p +1 donc pour moi p=2 et on a 2 1 5
C'est bien ça qu'il faut comprendre.
Au point d'observation {2}, p prend la valeur p +1 n'a pas encore été exécutée. p a toujours la valeur 1.
C'est seulement au point d'observation {3} que p a la valeur 2.
et pourquoi ne pas indiquer sous {3} le point d'observation {4} ça me paraitrait plus clair
ça gènerait la compréhension de l'avancement de l'algorithme?
merci
Il est bien dessous. Où voudrais-tu le mettre ?
La ligne "fin du tant que" n'est pas une instruction (elle est souvent omise, dans une présentation indentée).
Tu peux le mettre juste après cette ligne si tu y tiens, mais ça ne change rien à la compréhension.
Il faut comprendre que ce point d'observation {4} est extérieur à l'itération (la boucle), ce que j'ai voulu faire plus clairement apparaître avec la position que j'ai choisie.
on se comprend mal
moi je pensais écrire
p u n
{1} 1 1 5
{2} 1 1 5
{3} 2 1 5
{4} 2 2 5
{5} 3 2 5
{6}
{7}
mais je crois comprendre que tu appelles {2} le fait de multiplier p par u
et {3} le fait d'ajouter 1 à p c'est ça?
désolé mes remarques ont l'air d'être celles d'un demeuré mais c'est la 1ère fois que j'entends parler de "points d'observation"
merci de ton aide
Oui, dommage que cette notion ne soit pas enseignée à ton niveau, c'est vraiment la notion fondamentale pour comprendre les itérations, base de la compréhension du reste de l'algorithmique ...
Ta présentation ne permet pas de repérer à quel endroit du programme on se situe. Je me répète:
donc si le test était pn
ça donnerait
p u n
{1} 1 1 5
{2} 1 1 5
{3} 2 1 5
{2} 2 2 5
{3} 3 2 5
{2} 3 6 5
{3} 4 6 5
{2} 4 24 5
{3} 5 24 5
{2} 5 120 5
{3} 6 120 5
{pn est faux, on sort de la boucle}
{4} 6 120 5
sortie : affichage du rang n: 5
affichage du terme de rang n: u5=120
et dans ce cas u5 serait bien le produit des 5 premiers nombres entiers?
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :