Algorithme et suites

Publié le 26 sept. 2018 il y a 5A par Anonyme - Fin › 29 sept. 2018 dans 5A
1

Sujet du devoir

Bonjour :) 

Voici un exercice avec un algorithme que je n'arrive pas à comprendre :

Soit (un) la suite définie par u_0=6 et u_n+1=(3u_n+2)/(u_n+4) pour n>=0.

On dispose de l'algorithme ci-contre*.

a. Que fait l'algorithme ci-contre ? Autrement dit, que représente le nombre obtenu en sortie ? Pourquoi peut-on affirmer que la boucle "tant que" ne tourne pas indéfiniment ?

b. A l'aide de la calculatrice, déterminer le nombre renvoyé par l'algorithme.

 

* N <-- 0

U <-- 6

Tant que  |U-1|>(ou égal) 0.001 faire

U<--(3U+2)/(U+4)

N<--N+1

Fin tant que

Afficher N

Où j'en suis dans mon devoir

a. J'ai mis que la boucle tant que ne tournait pas indéfiniment puisqu'elle ne tourne que tant que la valeur absolue de (U-1) est supérieure ou égale à 0.001. Si cette valeur absolue devient inférieure, alors la boucle cesse de tourner.

b. Je n'arrive pas à la mettre dans ma casio, j'ai apparemment une erreur de syntaxe :

0 --> N

6 --> U

While Abs U-1 (inférieur ou égal) 0.001 Do

(3U+2)/(U+4) -->U

N+1-->N

WhileEnd

N

 

Merci pour votre aide :)




4 commentaires pour ce devoir


1
Anonyme
Anonyme
Posté le 26 sept. 2018

L'algorithme calcule le nombre d’itérations nécessaires pour que la distance de la suite avec la droite y=1 soit inférieur à 10^-3 (0.001). Qu'est ce qui bloque au niveau de la syntaxe ?

Ce qui permettrait d'assurer que la boucle ne tourne pas indéfiniment, c'est surement de prouver que la suite tend vers 1, de façon à ce qu'elle passe à un moment sous la distance de 0.001.

Anonyme
Anonyme
Posté le 27 sept. 2018

Bonjour :) 

Merci pour ta réponse sur sur la définition de l'algorithme. Pour ce qui est du blocage syntaxe, je n'arrive pas à trouver le problème, j'ai essayé sur algobox et ça ne marche pas non plus. Peut-être est-ce à cause des flèches qui, dans l'énoncé sont du type <-- et non --> ?

Merci à toi.

Anonyme
Anonyme
Posté le 27 sept. 2018

Il y a une erreur dans ton algorithme, car tu fais la condition "Tant que" Abs(U-1) <= 0.001 Do [...] End

Or dès la première itération U = 6 donc U -1 n'est pas inférieur à 0.001 et on sort de l'algorithme.

L'algo doit continuer tant que la valeur absolue U-1 est strictement supérieure à 0.001.

Sur algobox le résultat remonté est N = 9.

algo testé :

FONCTIONS_UTILISEES

VARIABLES

N EST_DU_TYPE NOMBRE

U EST_DU_TYPE NOMBRE

DEBUT_ALGORITHME

N PREND_LA_VALEUR 0

U PREND_LA_VALEUR 6

TANT_QUE (abs(U-1) > 0.001) FAIRE

DEBUT_TANT_QUE

U PREND_LA_VALEUR (3*U+2)/(U+4)

N PREND_LA_VALEUR N+1

FIN_TANT_QUE

AFFICHER* N

FIN_ALGORITHME

 

 

 

Anonyme
Posté le 29 sept. 2018

0--->N

6--->U

While U<= 0.001

(3*U+2)/(U+4)---> U

N+1--->N

END

Disp N = 0 


Ils ont besoin d'aide !

Il faut être inscrit pour aider

Crée un compte gratuit pour aider

Je m'inscrisOU

J'ai déjà un compte

Je me connecte