Inscription / Connexion Nouveau Sujet
Niveau première
Partager :

algorithme

Posté par
fedjer
18-01-13 à 15:41

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)

Posté par
boninmi
re : algorithme 18-01-13 à 16:43

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".

Posté par
fedjer
re : algorithme 19-01-13 à 16:13

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 {} ?

Posté par
boninmi
re : algorithme 19-01-13 à 16:53

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 ...

Posté par
fedjer
re : algorithme 19-01-13 à 21:36

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

Posté par
boninmi
re : algorithme 19-01-13 à 22:46

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.

Posté par
fedjer
re : algorithme 20-01-13 à 08:54

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

Posté par
boninmi
re : algorithme 20-01-13 à 09:11

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.

Posté par
fedjer
re : algorithme 20-01-13 à 10:39

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

Posté par
boninmi
re : algorithme 20-01-13 à 11:04

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:

Citation :
{1}, {2}, {3}, {4} désignent des points d'observations. Tu imagines que tu stoppes le programme à cet endroit et que tu regardes alors quelles valeurs ont tes variables. C'est très important 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   6   5  
{3}   4   6   5
{2}   4   24  5  
{3}   5   24  5
{p<n est faux, on sort de la boucle)
{4}   5   24  5

On passe donc 4 fois par la succession {2}, {3}.
L'inégalité p<n est stricte. On n'entre donc dans la boucle que pour les valeurs de p = 1, 2, 3, 4 et non pour la valeur 5. C'est donc bien p = n-1 qui est la dernière valeur valide pour entrer dans la boucle, et non p = n.

Si le test avait été p≤n, p = n aurait été la dernière valeur valide.

Posté par
fedjer
re : algorithme 20-01-13 à 14:21

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?

Posté par
boninmi
re : algorithme 20-01-13 à 18:43

Oui.

Posté par
fedjer
re : algorithme 20-01-13 à 19:44

merci beaucoup

Posté par
fedjer
re : algorithme 20-01-13 à 19:45

tu peux m'aider ici?
svp

algorithme somme des carrés TI 82



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1741 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !