Bibm@th

Forum de mathématiques - Bibm@th.net

Bienvenue dans les forums du site BibM@th, des forums où on dit Bonjour (Bonsoir), Merci, S'il vous plaît...

Vous n'êtes pas identifié(e).

#1 01-09-2020 15:07:29

Mouss
Membre
Inscription : 23-04-2020
Messages : 105

algorithme et suites

Bonjour,
J'ai besoin d'aide pour cet exercice s'il vous plait.

Algorithme 1 :
u=2
Pour n allant de 1 à 5 faire
     u=2*u-1
     Afficher u
Fin pour

Algorithme 2 :
n=0
u=2
Tant que u<20 n<20 faire
   n=n+1
   u=3*u-5
Fin Tant que
Affiche u

1. Combien de valeurs sont affichées par chacun de ces algo ?
2. Faire tourner a la main ces algos ?

Ma question est la suivante : pour l'algo 1 avant de faire tourner l'algo on sait déjà qu'il y a 5 valeurs qui seront affichées mais pour l'algo 2 on ne peut pas savoir ?? Sauf si on fait tourner l'algo, mais on nous dit de faire tourner l'algo qu'à la 2eme question.

Dernière modification par yoshi (01-09-2020 17:26:45)

Hors ligne

#2 01-09-2020 17:15:29

freddy
Membre chevronné
Lieu : Paris
Inscription : 27-03-2009
Messages : 7 457

Re : algorithme et suites

Salut,

Fais tourner à la main l’algo 2 et tu vas t’apercevoir d’un petit problème : il ne s’arrêtera jamais !
Es tu sûr de la condition tant que ? Moi, j’aurais plutôt dit tant que n < 20 pour être sûr de l’arrêt de la boucle.

Pour les valeurs, réfléchis, c’est assez simple quand tu regardes le code.

Dernière modification par freddy (01-09-2020 17:17:07)


De la considération des obstacles vient l’échec, des moyens, la réussite.

Hors ligne

#3 01-09-2020 17:28:17

freddy
Membre chevronné
Lieu : Paris
Inscription : 27-03-2009
Messages : 7 457

Re : algorithme et suites

Bon, tu viens de corriger !
Donc alors, combien de valeurs affichées ? Regarde après quoi est placée l’instruction « affiche u ».

Dernière modification par freddy (01-09-2020 17:32:18)


De la considération des obstacles vient l’échec, des moyens, la réussite.

Hors ligne

#4 01-09-2020 17:39:38

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 16 948

Re : algorithme et suites

Re,

Nan, c'est moi  qui ai corrigé son code. Je suis également  sûr que la condition est : "tant que n<20", sinon à quoi sert le compteur n ?
Les débuts en algorithmique sont suffisamment chaotiques comme ça, sans qu'on aille tendre des pièges...

Une suite pourrait être marrante :
On donne la suite auxiliaire $(V_n)$ telle que $V_n =U_n-\dfrac 5 2$ (pour la 2e suite $U_{n+1}=3U_n-5$)
1. Montrer que $(V_n)$ est une suite géométrique, en donner le 1er terme $V_0$ et la raison.
2. En déduire l'expression de $V_n$, puis celle de $U_n$ en fonction de n...

@+

[EDIT]

Je suis également  sûr que la condition est : "tant que n<20"

Maintenant après avoir trouvé une prolongation de l'exo, je n'en suis plus si sûr que ça...
Après tout, pourquoi donner 2 fois le "même" exercice entraînant la "même" réponse ?

Dernière modification par yoshi (01-09-2020 18:11:36)


Arx Tarpeia Capitoli proxima...

Hors ligne

#5 02-09-2020 00:23:01

Mouss
Membre
Inscription : 23-04-2020
Messages : 105

Re : algorithme et suites

J'ai bien verifié, la condition c'est u < 20.

Quand je le teste sur python, il donne des valeurs à l'infini.
Est ce que il faut juste dire comme l'algo 1 est une boucle bornée on connaît le nombre de valeurs qui vont être affichées avant de le tester tandis que lorsque l' on a une boucle tant que,  on ne peut pas prévoir à l'avance sans tester ?

Merci

Hors ligne

#6 02-09-2020 08:10:17

freddy
Membre chevronné
Lieu : Paris
Inscription : 27-03-2009
Messages : 7 457

Re : algorithme et suites

Mouss a écrit :

J'ai bien verifié, la condition c'est u < 20.

Quand je le teste sur python, il donne des valeurs à l'infini.
Est ce que il faut juste dire comme l'algo 1 est une boucle bornée on connaît le nombre de valeurs qui vont être affichées avant de le tester tandis que lorsque l' on a une boucle tant que,  on ne peut pas prévoir à l'avance sans tester ?

Merci

Salut,
Ce n’est pas possible, voilà tout, car c’est une boucle infinie sinon, en clair tu attends la fin de l’éternité pour connaître u !!!
Il y a une erreur dans ton code, c’est tout. D’ailleurs, tu vois bien sous Python ce qu’il se passe.
Et dans l’algorithme 2, il affiche u en sortie de boucle donc une fois, dans le 1, il l’affiche chaque fois dans la boucle, donc 5 fois.

Petite remarque : si tu remets en cause nos remarques et conseils, va voir ailleurs car yoshi, pour ne pas le citer, a longtemps enseigné l’algorithmique et Python au lycée donc ne remet pas en cause son expérience, c’est insultant !
Quant à moi, quand tu auras développé autant de programmes informatiques de calculs que j’en ai fait ces 35 dernières années, on pourra parler à égalité (je ne suis pas informaticien mais mon métier m’amène à utiliser l’outil informatique et des langages adaptés).
Salut !

Dernière modification par freddy (02-09-2020 10:04:38)


De la considération des obstacles vient l’échec, des moyens, la réussite.

Hors ligne

#7 02-09-2020 09:40:42

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 16 948

Re : algorithme et suites

Re,


freddy, tu t'emballes...
A la réflexion, et même si ça me chiffonne, je répète, je ne suis plus aussi sûr que ça que le code de Mouss soit faux, mais je n'ai pas de certitude à 100%...
Seulement, sans lancer l'algo en Python ou avec AlgoBox, pas évident du tout de savoir ce qu'il va se passer.
Mouss, que sais-tu des suites ?
Sais-tu prouver qu'une suite est croissante ou décroissante ?
On peut contourner le problème en faisant une analyse de la forme de l'algo...
1. Remarquer que le compteur n est là "pour la décoration", donc que si on s'en passe, rien ne change...
2. Remarquer que $u_{n+1} =3u_n-5$ et que si fabrique une fonction associée x --> $f(x)=3x-5$, c'est une fonction affine strictement croissante
    Ce qui signifie que si $x_2>x_1$  alors $f(x_2)>f(x_1)$ et que si $x_2<x_1$ alors $f(x_2)<f(x_1)$
    signe de $u_1-u_0$ ?
   $u_1-u_0=3u_0-5-u_0=2u_0-5$  la bascule se produit avec $u_0=\frac 5 2$
   Si $u_0<\frac 5 2$, et c'est le cas, alors $u_1-u_0<0$ et $u_1<u_0\leqslant<=2$, $u_1<2$
   Le raisonnement précédent s'applique évidemment à $u_2-u_1$, et donc $u_2<2$

Conclusion :
- Si le prof qui a donné l'exo, ne s'est pas trompé, alors on constate qu'effectivement puisque on aura toujours u<2, la boucle est infinie et le nombre de valeurs est infini. Traiter l'algo sur 4 ou 5 itérations permet ensuite de constater qu'effectivement, à partir de n=2 toutes les valeurs seront négatives
- Si le prof qui a donné l'e,xo, ne s'est pas trompé, alors on constate qu'avec $_0=3$, la boucle n'est pas infinie...
  Quant à déterminer alors le nombre de valeurs inférieures à 20, pas évident(maximum 5 parce que ça va très vite)....
- S'il y a erreur et que c'est bien "Tant que n<20", avec u =2, alors il y aura 20 valeurs.

Questions ?

@+


Arx Tarpeia Capitoli proxima...

Hors ligne

#8 02-09-2020 10:46:49

freddy
Membre chevronné
Lieu : Paris
Inscription : 27-03-2009
Messages : 7 457

Re : algorithme et suites

Re,

@yoshi, il n’y aura pas 20 valeurs affichées mais une seule, la dernière calculée, puisque l’instruction « affiche u » est en sortie de boucle.
Je pense que c’est ce que le prof voulait qu’il voit.
Je te dirai pourquoi je m’énerve un peu :-)


De la considération des obstacles vient l’échec, des moyens, la réussite.

Hors ligne

#9 02-09-2020 11:13:48

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 16 948

Re : algorithme et suites

Re,

@yoshi, il n’y aura pas 20 valeurs affichées mais une seule, la dernière calculée

Tiens, c'est vrai ! Ça ne m'avait pas frappé !!!
C'est LA différence entre les 2 algos...
Bravo compère !
Donc sa réponse devrait être :
En principe, l'algo, n'affichera qu'une seule valeur.
En principe, parce que la boucle est infinie et qu'on n'en sort donc pas, comme on peut le voir en le "faisant tourner à la main"  (ou en Python)...

Il n'empêche pour l'algo 2 que
Avec "Tant que u<20:"
Si u =2, il y a bien boucle infinie et donc rien d'affiché,
mais que
si u =3, la boucle s'arrête très vite (pour n=4), que u sera supérieur ou égal à 20...

Donc erreur quelque part probable à 70 %...
Soit dans le Tant que, soit sans l'initialisation de u...
Mais alors, ça nous ferait 3 sujets de suite avec une erreur d'énoncé !

@+


Arx Tarpeia Capitoli proxima...

Hors ligne

Pied de page des forums