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 06-10-2015 17:44:30

DarwinBwakami
Invité

Algorithme bizarre

Bonjour, je poste ici car dans un de mes DM de maths de 1ère ES, j'ai eu un problème, je ne trouve pas le même résultat en calculant l'algorithme et en calculant "normalement".
L'algorithme :

Variables : N, U, de type nombre
Initialisation : U prend la valeur 2 - N prend la valeur 0
Traitement : Tant que U "estpluspetitque" 100
U prend la valeur 3U-2
N prend la valeur N+1
Fin tant que
Sortie : Afficher N

Je trouve N+7 en faisant l'algorithme. MAIS quand je le calcule à la main ça fait :
(3X2-2)=4
(3X4-2)=10
(3X10-2)=28
(3X28-2)=82
(3X82-2)=244
(3X244-2)=730
DONC comme vous pouvez le voir, cela fait N+6 (et N=7 fera plus grand que 1000) donc je ne vois pas ou je me suis trompé, merci de m'aider.

#2 06-10-2015 18:52:16

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 17 402

Re : Algorithme bizarre

Salut,

Donc tu utilises AlgoBox.
Je teste ton Algo.
Il fonctionne.
Donc remarque n° 1 :
(3X82-2)=244   La condition d'arrêt est : tant que U < 100. Or 244 >100 tu t'arrêtes là ! La ligne suivante ne doit pas exister...*
(3X244-2)=730

Remarque n°2
Selon ce qu'on t'a demandé de faire, je ne suis malgré tout pas d'accord avec ton code...
Tu devrais même, à la main t'arrêter à 82, puisque le U suivant passe à 244.
Donc l'affichage devrait être N = 4 !

Quel est ton énoncé exact ?
Connais-tu les instructions conditionnelles Si ....  ALORS .... SINON ?

@+

Hors ligne

#3 06-10-2015 19:16:28

DarwinBakami
Membre
Inscription : 16-09-2015
Messages : 22

Re : Algorithme bizarre

Enfaite c'était tant que U *estpluspetitque* 1000 (et pas 100). Désolé, encore une fois.
Donc là, c'est bien N=6 alors pourquoi mon algo me donne 7 ?

Hors ligne

#4 06-10-2015 20:03:18

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 17 402

Re : Algorithme bizarre

Re,

Mais la réponse est très simple :
pour que ton algo s'arrête à cause du TANT QUE, il faut qu'il ait calculé un U >1000 donc un tour de trop !
Regarde :

***Algorithme lancé***
Entrée dans le TANT QUE
Valeur de N :1
Valeur de U : 4
   
Valeur de N :2
Valeur de U : 10
   
Valeur de N :3
Valeur de U : 28
   
Valeur de N :4
Valeur de U : 82
   
Valeur de N :5
Valeur de U : 244
   
Valeur de N :6
Valeur de U : 730
   
Valeur de N :7
Valeur de U : 2188
   
Sortie du TANT QUE
Valeur de U : 2188
Valeur de N : 7

***Algorithme terminé***

Je repose ma question :
Quel est l'énoncé exact ?

1. J'introduis une nouvelle variable NN de type NOMBRE
2. Avant de calculer N+1 j'affecte à la variable NN la valeur de N
3. A la sortie de TANT QUE je demande l'affichage de NN. Voilà ce que ça donne :

***Algorithme lancé***
Entrée dans le TANT QUE
Valeur de N :1
Valeur de U : 4
   
Valeur de N :2
Valeur de U : 10
   
Valeur de N :3
Valeur de U : 28
   
Valeur de N :4
Valeur de U : 82
   
Valeur de N :5
Valeur de U : 244
   
Valeur de N :6
Valeur de U : 730
   
Valeur de N :7
Valeur de U : 2188
   
Sortie du TANT QUE
Valeur de U : 2188
Valeur de NN : 6

***Algorithme terminé***


Donc : qu'est-ce qu'on t'a demandé exactement ?

@+

Hors ligne

#5 07-10-2015 13:33:58

DarwinBakami
Membre
Inscription : 16-09-2015
Messages : 22

Re : Algorithme bizarre

Ce que l'on ma demandé c'est : "faire tourner cet algorithme. Quelle valeur sort de cet algorithme ? Interpréter cet algorithme."

Et ce que je ne comprends pas c'est que c'est "tant que U *estpluspetitque* 1000 qu'il faut faire N+1, alors pourquoi le faire une dernière fois alors que U est plus grand que 1000 (et N=7) car vu que pour N=7, U = 2188, ce devrait être faux et être N=6, u=730 car cela est plus petit que 1000 et que par conséquent ça respecte le "tant que...".

Hors ligne

#6 07-10-2015 15:35:17

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 17 402

Re : Algorithme bizarre

Salut,

Tu n'as donc pas compris le "pas à pas".
Je temle remets et je te le commente.
Initialisation
N=0 et U=2
On rentre dans le TANT QUE
1er test : U<1000 ?
OUI (puisque U = 2) ---> Donc on fait N=N+1  (N=1) et U =3*2 - 2 (U = 4)

Et l'algorithme - qui est une boucle - remonte à TANT QUE
2e test : U<1000 ?
OUI (puisque U = 4) ---> Donc on fait N=N+1 (N=2) et U =3*4 - 2 (U = 10)

Et l'algorithme - qui est une boucle - remonte à TANT QUE
3e test : U<1000 ?
OUI (puisque U = 10) ---> Donc on fait N=N+1 (N=3) et U =3*10 - 2 (U = 28)

Et l'algorithme - qui est une boucle - remonte à TANT QUE
4e test : U<1000 ?
OUI (puisque U = 28) ---> Donc on fait N=N+1 (N=4) et U = 3*28 - 2 (U = 82)

Et l'algorithme - qui est une boucle - remonte à TANT QUE
5e test : U<1000 ?
OUI (puisque U = 82) ---> Donc on fait N=N+1 (N=5) et U =3*82 - 2 (U = 244)

Et l'algorithme - qui est une boucle - remonte à TANT QUE
6e test : U<1000 ?
OUI (puisque U = 244) ---> Donc on fait N=N+1 (6) et U =3*244 - 2 (U = 730)

Et l'algorithme - qui est une boucle - remonte à TANT QUE
2 test : U<1000 ?
OUI (puisque U = 730) ---> Donc on fait N=N+1 (N=7) et U =3*730 - 2 (U = 2188)

8e test : U<1000 ?
NON (puisque U = 2188)
Donc l'algo sort sort de la boucle TANT QUE...
Et affiche la dernière valeur de N calculée soit 7...
Voici l'organigramme correspondant :
151007043841260329.jpg

Si je te poses l'exercice suivant :
soit la suite arithmético-géométrique [tex](U_n)[/tex] définie par [tex]\begin{cases}U_0 = 2\\U_{n+1}=3Un-2\end{cases}[/tex]
Quelle est la valeur de n pour que [tex]U_n\geqslant 1000[/tex] ?

Est-ce que ça te rappelle quelque chose ?

@+

Hors ligne

#7 07-10-2015 20:37:21

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 17 402

Re : Algorithme bizarre

Re,

C'est clair, cette fois ou tu as une question ?

@+

Hors ligne

#8 07-10-2015 22:46:11

DarwinBakami
Membre
Inscription : 16-09-2015
Messages : 22

Re : Algorithme bizarre

Oui oui c'est clair merci ^^.

Hors ligne

Pied de page des forums