Bonjour, je suis en seconde bet j'ai un petit proble avec les algorithmes.
Dans l'exercice que mon professeur m'a donné, ,il est dit: N,u et i sont des nombres entiers,demander N,u=1, pour i allant de 1 a N, u prend la valeur u*i, afficher u.
La premiere questions était: Qu'affiche cet algorithme si , en entrée, N=4.
Cet question j'ai réussi a la faire.
C'est les 2 autres questions que je ne comprend et n'arrive pas a le faire , les voici: 1)Expliquer ce que fait l'algorithme. 3) Modifier cet algorithme pour qu'il affiche le produit des N premiers entiers pairs.
Si quelqu'un pourrai m'aider...
Merci d'avance
Bonjour,
Que réponds-tu à la première question ?
Et qu'affiche l'algorithme si en entrée on a introduit N = 4 ?
Bonjour,
Commence par "dérouler" l'algorithme pour N=4, par exemple, en écrivant les valeurs successives de u. Cela doit te faire "intuiter" ce que calcule cet algo (la deuxième question doit aussi te mettre sur la voie ...). Ensuite, il faut le prouver : une méthode par récurrence est bien adaptée (c'est déjà connu, en 2nde?).
Ensuite, pour la deuxième question, il suffit de modifier la mise à jour de i à chaque étape.
Essayes à partir de ces indications (si elles sont assez claires?) et reviens au forum pour d'autres précisions ou pour vérification.
J'ai mis: N=4 , u=1, i allant de 1 à 4, pour i=1 alors 1*1=1 , pour i=2 alors 2*1=2 , pour i=3 alors 3*2=6 , pour i=4 alors 4*6=26.
Donc u=26
Presque !
Cela fait combien 4 6 ?
En français que dirais-tu ? Cet algorithme, quand on entre N, calcule ... ?
Non je me suis trompée en recopiant désolé, Cela fait 24.
Je n'ai pas trop bien compris en fait a quoi sert l'algorithme donc je sais pas se qu'il calcule.
Merci de m'aider.
Oui, 24
Si tu rentres N = 3 tu vois qu'il calcule 1 2
3 = 6
Si tu rentres N = 4 tu as calculé qu'il affiche 1 2
3
4 = 24
Comment dirais-tu en français ?
Très bien !
Cet algorithme, quand on rentre le nombre entier positif N, calcule et affiche le produit des N premiers nombres entiers.
__________________
Quels sont les N premiers entiers pairs ? Prends l'exemple des 4 premiers entiers pairs.
Toujours très bien.
Comment modifier l'algorithme pour qu'il calcule maintenant 2 4
6
8 si l'on entre le nombre N = 4 (pour avoir le produit des N premiers entiers pairs) ?
Oui, voilà le résultat qu'il faut obtenir
Pour le premier passage dans la boucle, donc quand i = 1 il faut multiplier par 2
Pour le deuxième passage dans la boucle, donc quand i = 2 il faut multiplier par 4
Pour le troisième passage dans la boucle, donc quand i = 3 il faut multiplier par 6
Pour le quatrième passage dans la boucle, donc quand i = 4 il faut multiplier par 8
Cela ne devrait pas être trop compliqué
Oui,
La question est : comment faut-il modifier l'algorithme pour qu'il calcule cela ?
_____________
L'algorithme pour le produit des N premiers entiers est :
Tu avais bien compris, me semble-t-il, comment fonctionnait la boucle.
Avant d'entrer dans la boucle on donne au futur résultat u la valeur 1
u = 1
Puis on entre dans la boucle :
Premier passage (i = 1) u = u i
comme u = 1 et que i = 1 le résultat est u = 1
Deuxième passage (i = 2) u = u i
comme u = 1 et que i = 2 le résultat est u = 2
Troisième passage (i = 3) u = u i
comme u = 2 et que i = 3 le résultat est u = 6
Quatrième passage (i = 4) u = u i
comme u = 6 et que i = 4 le résultat est u = 24
On a terminé les N = 4 passages, donc on sort de la boucle
et on affiche u = 24
_________________________
Il faut une toute petite modification de l'algorithme pour qu'il fasse le produit 1 2
4
6
8 si l'on demande N = 4 passages dans la boucle.
Quelle est cette toute petite modification ?
Oui pour la bloucle j'avais bien compris.
Je pense que la modification est qu'il faut enlever 1 pasage, Parce que vu que N=4 pasages alors que si il y a 1*2*4*6*8 il y aurai 5 passage...
Non, ce n'est pas cela.
Dans le premier algorithme il n'y a que N = 4 passages et il y a bien 4 multiplications
1 1
2
3
4 = 24
Maintenant on veut toujours pour N = 4 avoir 4 multiplications en 4 passages dans la boucle
1 2
4
6
8 = 384
Une autre idée ?
Je ne suis pas sûr d'avoir compris ce que tu proposes.
On fera toujours 4 boucles (puisque N = 4) pour avoir 4 multiplications. Compte les multiplications :
1 2
4
6
8 = 384
Il y a quatre fois le signe
Une multiplication à chaque passage dans la boucle (pour i = 1 jusque i = 4)
Mais dans la boucle il ne faut plus multiplier par 1 puis 2 puis 3 puis 4
Il faut maintenant multiplier par 2 puis 4 puis 6 puis 8
Qu'en penses-tu ? Comment peut-on faire ?
Exact !
Donc, quelle est la petite modification qu'il faut faire à l'intérieur de la boucle pour obtenir cet effet ?
On rajoute le 1.
Donc pour le premier pasage: (i=1)u = 1*1=1
Pour la 2eme boucle: (i=2) u =1*2=2
3 boucle: (i=4) u =2*4=8
4 boucle: (i=6) u =8*6=48
Il faut donc rajouté une boucle qui serai: (i=8) u =48*8=384
Il y a une idée.
On pourrait faire ceci :
Non je n'en verrai pas une autre, mais comme j'ai fait cela est juste ou je peut le reproduire parce que de cette maniere j'ai bien compris.
Je suis content que tu aies bien compris.
Je te donne ma manière : dans la boucle je multiplie i par 2 si bien qu'au lieu d'avoir 1 puis 2 puis 3 puis 4 on a automatiquement 2 puis 4 puis 6 puis 8 :
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :