Inscription / Connexion Nouveau Sujet
Niveau terminale
Partager :

[TermS] Exercice sur un algorithme

Posté par
anthonycj
07-09-14 à 20:54

Bonsoir tout le monde
J'ai un exercice à faire en DM portant sur un algorithme.
Je vous met l'algorithme en image.

Les questions sont les suivantes.

1) Faire tourner l'algorithme pour X=200

2) Que fait cet algorithme?

3) Inventer un énoncé qui est traduit par cet algorithme.

4) Ecrire un programme sur la calculatrice

5) Transformer cet algorithme pour qu'il affiche à chaque étape les valeurs de X et de R.



Tout d'abord, j'ai commencé par écrire le programme sur ma calculatrice pour répondre à la première question car je n'arrive pas à faire les calculs manuellement. En effet, je ne comprend pas la partie "Tant que X>1 , X -> X/5 , R -> R+1"

Voici donc mon programme sur ma calculatrice.

: Disp "VALEUR DE X?"

: Prompt X

: Disp X

: 0 -> X

: While X>1

: X/5 -> X

: R+1 -> R

: End

: Disp R

:



Pour X=200, j'ai donc trouvé grâce à ce programme R=4. Il a l'air alors de bien fonctionner.



Ensuite pour la question 2) et 3), je ne sais absolument pas quoi répondre. Je n'arrive pas du tout à comprendre à quoi sert cet algorithme.

Et pour la question 5), j'ai pensé à rajouté après la ligne "X -> X/5" cette ligne : "Disp X"



Voilà pour l'exercice, merci d'avance pour votre aide. Bonne soirée !

[TermS] Exercice sur un algorithme

Posté par
arima
re : [TermS] Exercice sur un algorithme 07-09-14 à 21:13

Bonjour,
tant que X>1 tu incrémentes R de 1 (ie. R devient R+1) et X est remplacé par X/5...

Je dirais que ça calcule un log tout ça ...

Posté par
Francchoix
explication 07-09-14 à 21:38

Ton algorithme compte le nombre de fois où X aprés division par 5 est plus grand que 5 . Exemplle:  X=178 le programme tourne  (x>1)   et    X/5=35,6>1 donc R prend la valeur 1 et on continue: X/5=35,6/5=7,12 >1 et  R prend la valeur    2;   et on continue:  X/5=7,12=1,424>1 donc R prend la valeur 3 et l'on continue: X=1,424/5=0,2848<1 et on s'arrête et on affiche R=3, ce qui signifie que x>5^3 (5^3=125).

Donc cet algorithme te donne le plus grand entier R tel que X\leq 5^R.

3) trouver le plus grand entier R tel que 5^R\leq X
4) c'est fait.
5) Après l'instruction R+1_>R, il faut rajouter
:Disp R,X
 \\ :pause

la pause permet d'avoir le temps de lire R et X et dès que tu appuie sur Ent, le programme redémarre.

Ce type d'exercice va te permettre de savoir programmer ta TI; c'est donc un exercice très intelligent, même si le but est modeste,l' objectif est bien plus ambitieux!!

Posté par
anthonycj
re : [TermS] Exercice sur un algorithme 08-09-14 à 17:33

J'ai tout bien compris grâce à vous, merci beaucoup !

Posté par
anthonycj
re : [TermS] Exercice sur un algorithme 08-09-14 à 18:29

Excusez moi mais pour la question 3) , sachant que R=4 pour X=200, 5^4=625 n'est pas inférieur ou égal à X. Je ne comprends pas...

Posté par
Francchoix
explication 08-09-14 à 22:27

Pour n=200; le programme effectue 200/5=40 et met 1 dans R, puis calcule 40/5=8 donc R prend la valeur 2; puis on arrive à 8/5=1,6 et R prend la valeur 3, puis 1,6/5=0,32<1 donc le programme s'arrête et affiche R=3 ce qui se traduit par 5^3\leq N<5^4. Il n'y a aucun problème!!!

Posté par
anthonycj
re : [TermS] Exercice sur un algorithme 08-09-14 à 22:41

C'est que le programme sur la calculatrice me donne comme résultat R=4 au lieu de R=3.

Posté par
Francchoix
solution 09-09-14 à 09:46

Sur une TI, le programme donne:

:prompt X
:0->R
:While X>1
:X/5->X
:R+1->R
:End
:disp R

quand le programme démarre X=? s'affiche, on rentre 200; comme 200>1, il met 200/5=40 dans la mémoire X et 0+1=1 dans la mémoire R, on a 40>1 donc il met 40/5=8 dans la mémoire X et 1+1=2 dans la mémoire R; comme 8>1, il met 8/5=1,6 dans la mémoire X et 2+1=3 dans la mémoire R; comme 1,6>1, il met 1,6/5=0,32 dans la mémoire X et 3+1=4 dans la mémoire R; comme 0,321, l'instruction While n'est pas exécutée et il passe à Disp R donc il affiche 4;

tu avais raison, j'avais oublié de compter la dernière division et cela veut dire que 5^3<200\leq 5^4, par exemple,
on obtient  5^7<381997\leq 5^8

Ce programme peut être utilisée avec un autre entier que 5 et peut être intéressant si on travaille dans une autre base que la base 10.

Posté par
anthonycj
re : [TermS] Exercice sur un algorithme 09-09-14 à 18:27

D'accord, merci beaucoup



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1741 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !