Forum de mathématiques - Bibm@th.net
Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
Discussion fermé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 :
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
Pages : 1
Discussion fermée







