Inscription / Connexion Nouveau Sujet
Niveau première
Partager :

algorithme

Posté par
zette
11-01-15 à 08:26

Bonjour j'ai un exercice qui me pose problème et je peux pas vous proposer la moindre réponse car je comprends rien. Voici l'énoncé:
On présente l'algorithme ci-dessous:


Variables:
n,x,seuil:réels
Début_Algorithme
Afficher "Donner la valeur limite que vous souhaitez atteindre?"
Entrer(seuil)
95x
0n
 Tant que x inférieur au seuil faire
     x*0,80x
     n+1n
Fin Tantque
Afficher "le nombre de réduction à faire:"
Afficher(n)
Fin_Algo

1)Tester l'algorithme pour l'algorithme pour seuil=50

2) Déterminer à l'aide de l'algorithme la suite récurrente qui est définie à l'aide de un+1et un.

3) Dans un magasin,on souhaite écouler un produit coûtant 95 euros. Pour cela chaque semaine on fait une réduction de 20%. Le patron du magasin souhaite arrêter les réductions lorsque le prix est inférieur à 30auros. Au bout de combien de semaine doit-on arrêter les réductions?

Voilà! Je vous remercie d'avance pour vos aides précieuses.

Posté par
sbarre
re : algorithme 11-01-15 à 09:49

Bonjour,

je pense que c'est
tant que x supérieur à seuil     (sinon cela ne marchera jamais!)

ton algorithme récupère une valeur (seuil) et compte le nombre de fois (n) ou l'on doit appliquer une réduction de 20 pour cent (*0,8) pour atteindre une valeur inférieure au seuil en partant d'une valeur initiale de 95 euros.

b) Ta suite est géométrique de premier terme 95 et de raison 0,8

c) entrer un seuil de 30 et lire la valeur du nombre de semaine (puisque chaque semaine correspond à une réduction de 20%

Posté par
zette
algorithme 11-01-15 à 10:49

Bonjour sbarre,tout d'abord x est bel et bien inférieur au seuil. Et deuxièmement, je ne comprends vraiment pas. Est-ce que tu peux me mettre sur la piste s'il te plaît?

Posté par
sbarre
re : algorithme 11-01-15 à 10:57

le but de ton algorithme est de continuer à tourner en calculant le nombre de semaine tant que le prix est supérieur au seuil que l'on fiche. On arrête de faire les réductions si on a atteint le seuil.
Avec ce qui est indiqué on arrête dès que le montant est supérieur, ce qui est le cas dès le départ donc l'algo ne tourne pas et il va te donner 0 de façon systématique...

Quand tu dis que tu ne comprends pas, quelle partie tu ne comprends pas ??
ou quelle partie tu comprends?

Je ne peux pas expliquer correctement sans savoir ce que tu sais et ce que tu comprends... (et rien n'est pas une réponse!)

Prends chaque ligne une à une et dis-moi ce que tu comprends ou pas.

Posté par
zette
algorithme 11-01-15 à 11:35

J'avais compris le but de l'exercice mais ce que je comprends pas c'est la méthode pour résoudre cette exercice et aussi c'est bel et bien x inférieur au seuil or tu me met que x doit être supérieur au seuil.

Posté par
sbarre
re : algorithme 11-01-15 à 12:36

as-tu testé l'algorithme au moins?
et qu'est ce que ca donne?

Posté par
zette
algorithme 11-01-15 à 12:43

Mais justement je ne sais pas. Je sais juste qu'il faut placer 50 dans l'algorithme mais après je ne sais rien.

Posté par
sbarre
re : algorithme 11-01-15 à 12:52

je vais déjeuner; je reviens après.

ton algorithme, tu le fais tourner sur quelle machine?
ou c'est à la main qu l'on te demande?

Posté par
zette
algorithme 11-01-15 à 12:55

Mais je n'en sais rien car le prof nous a donné cette exercice comme DM et il nous a rien dit. Mais je pense que c'est sur la calculatrice mais le problème c'est que pour l'instant nous l'avons pas vu.

Posté par
sbarre
re : algorithme 11-01-15 à 13:39

Citation :
mais le problème c'est que pour l'instant nous l'avons pas vu.
tu n'as pas vu quoi ta calculatrice?, la façon de programmer ta calculatrice....

reprenons l'algo:

Variables:
n,x,seuil:réels                                                                                 tu définis les noms des variables que tu vas utiliser
Début_Algorithme
Afficher "Donner la valeur limite que vous souhaitez atteindre?"                              affichage du message entre guillemets
Entrer(seuil)                                                                                            on demande à l'utilisateur de rentrer une valeur (qui correspond en gros au prix vers lequel on veut tendre à l'issue des réductions successives
95x                                                                                     x prend la valeur 95 (prix de départ du produit qui sera soldé
0n                                                                                       n (qui est le compteur du nombre de boucle effectué par l'algo) est initialisé à 0
Tant que x inférieur au seuil faire
     x*0,80x                                                                            tant que x est inférieur au seuil on multiplie par 0.8 (baisse du prix de 20%)
     n+1n                                                                               et on augmente le compteur de 1 pour savoir le nombre de réductions successives qui sont faites (correspond au nombre de semaines, puisque qu'on réduit une fois chaque semaine)
Fin Tantque                                                                                             une fois que l'on est passé au dessus du seuil on arrête la boucle et on passe à l'étape suivante; l'affichage
Afficher "le nombre de réduction à faire:"                                                            affichage du message entre guillemets
Afficher(n)                                                                                           affichage du nombre de boucles (donc du nombre de réductions de 20% et donc du nombre de semaines pour atteindre le prix plancher souhaité)
Fin_Algo


SAUF QUE les deux mots soulignés ne permettent pas au programme de tourner normalement! En effet si tu considères que x vaut 95 et que le seuil est 50, dès le premier test x est supérieur au seuil (si si: 95>50!) et donc on sort de la boucle (on n'y rentre même pas d'ailleurs et on arrive à la partie affichage.

En revanche si tu changes inférieur en supérieur  (et dessus en dessous dans l'explication du fin tant que):
95 est supérieur à 50 donc tu remplaces 95 par 95*0.8 et tu augmentes n qui passe de 0 à 1 et on refait le test;
76 (95*0.8) est supérieur à 50 donc tu remplaces 76 par 76*0.8 et tu augmentes n qui passe de 1 à 2 et on refait le test;
60.8 (76*0.8) est supérieur à 50 donc tu remplaces 60.8 par 60.8*0.8 et tu augmentes n qui passe de 2 à 3 et on refait le test;
48.64 (48.64*0.8) est INFERIEUR à 50 donc tu sors de la boucle et tu affiches "le nombre de réduction à faire:" et ensuite tu affiches n donc "3".

Posté par
zette
algorithme 11-01-15 à 16:39

Désolé d'avoir tardé, j'ai compris pour la 1)
Pour la 2) je sais ce qu'on demande mais je bloque.J'en ai marre.

Posté par
zette
algorithme 11-01-15 à 18:42

Allo, il y a quelqu'un?

Posté par
sbarre
re : algorithme 11-01-15 à 19:20

la réponse est dans mon premier post...
tu pars d'une certaine valeur 95 et tu multiplies par 0.8 à chaque fois.

Posté par
zette
algorithme 11-01-15 à 19:25

D'accord maintenant j'ai compris, je te remercie infiniment pour ton aide. Merci encore!

Posté par
sbarre
re : algorithme 11-01-15 à 19:41

je t'en prie!

Bonne continuation.



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 1742 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 !