Inscription / Connexion Nouveau Sujet
Niveau seconde
Partager :

Problème avec un algorithme

Posté par
Berluchon
20-02-15 à 13:00

Bonjour, je bloque depuis plusieurs heures sur une question concernant un algorithme.
Voici le contexte de l'exercice:
- On donne les tarifs de photocopies pratiqués dans un magasin de reprographie:
-Entre 1 et 30:  0,12 euros l'unité
- Entre 31 et 60: 0,10 euros l'unité
- Entre 61 et 100: 0,08 l'unité
- Au delà de 100: 0,06 l'unité

Tous les prix sont en euros.

On donne un algorithme:

Variables: n est un nombre entier naturel,
                 p est un nombre réel

Entrée: Saisir n

Traitement: Si n < 30 alors
                   Affecter à p la valeur 0,12n

                   Fin Si

                   Si n >32 et n <60 alors
                  Affecter à p la valeur 0,1n


                 Fin Si



                 Si n>61 et n<100 alors
                 Affecter à p la valeur 0,08n

                 Fin Si

            
                Si n> 100 alors
                Affecter à p la valeur 0,06n

                 Fin Si



  Sortie:      Afficher P



-On précise que cet algo ne permet pas en général d'afficher le prix à payer pour n photocopies expliquer et on demande d'expliquer pourquoi.
J'ai expliqué qu'il n'affichait pas le prix pour toutes les photocopies car il ne prenait pas en compte les tarifs précédent.
Par exemple, à la ligne "n<31 et <60 , affecter à p la valeur 0,1n", l'algo ne prend pas en compte le tarif du groupe (1-30) qui est a 0,12 l'unité mais ramène tout à 0,1.
J'espère avoir été clair.

Et je bloque à la consigne suivante, où il est demandé de corriger cet algorithme pour qu'il calcule le montant à payer en fonction du nombre n de photocopies effectuées, donc, je suppose, en prenant compte des tarifs de chaque regroupement de photocopies.

Posté par
Cpierre60
re : Problème avec un algorithme 20-02-15 à 14:58

Bonjour,
Tel que tu nous le donnes l'énoncé est confus.
L'algorithme donne le prix pour n photocopies si le tarif pour une tranche donnée est uniforme de la 1ère à la dernière.
Par contre, la question suivante me laisse à penser que le tarif est en réalité de :
0.12 euro/photocopie pour les 30 premières
et passe à 0.10 euro à partir de la 31ème...etc...
Donc p donné par l'algorithme ne serait le prix pour n photocopies que si n30
Si 31n60, p=(0.12*30)+(0.10*(n-30))
Clair ?

Posté par
Berluchon
Merci! 20-02-15 à 21:05

Merci beaucoup! C'est cohérent avec le reste de l'exercice!

Posté par
Berluchon
Programme de calcul 21-02-15 à 09:04

Et comment peut-on traduire cet algo par un programme de calcul?l

Posté par
kenavo27
re : Problème avec un algorithme 21-02-15 à 09:23

bonjour

Citation :
Traitement: Si n < 30 alors
                   Affecter à p la valeur 0,12n

                   Fin Si

                   Si n >32
et n <60 alors
                  Affecter à p la valeur 0,1n



quelque chose me soucie , alors si 31 photocopies, on devra payer combien ?

Posté par
Berluchon
31 photocopies 21-02-15 à 09:53

Si j'ai bien compris, 31 photocopies est compris dans la deuxième tranche.
Donc:

Si n<30 alors
Affecter à p la valeur 0,12n
Fin Si

Si n<31 et n<60 alors
Affecter à p la valeur 0,1n

Mais cet algorithme ne permet pas d'afficher tous les résultats car comme l'a dit Cpierre60, il donne le prix si toutes les tranches de photocopies avaient le même tarif.

Pour l'exercice, j'ai fait ça:

Si n<30 alors
Affecter à p la valeur 0,12n
Fin Si

Si n <31 et n <60 alors
Affecter à p la valeur (0,12*30)+(0,10(n-30)

Posté par
Berluchon
SVP 21-02-15 à 09:56

Pouvez vous me montrer quel est le programme en language calculatrice (TI-82) de l'algorithme de mon précédent message s'il vous plait!

Posté par
Berluchon
Programme 21-02-15 à 11:08

Bonjour, pouvez vous m'aider à traduire l'algorithme suivant en programme pour calculatrice (TI-82):

Variables: N est un nombre entier naturel
                P est un nombre réel

Entrée:    Saisir n

Traitement: Si n <30 alors
                   Affecter à P la valeur 0,12n
                   Fin si


                  Si n<31 et n<60 alors
                  Affecter à P la valeur (0,12*30)+(0,10(n-30)
                  Fin si

                Si n<61 et n<100 alors
                Affecter à P la valeur (0,12*30+0,10*60)+(0,08(n-60)
                Fin si

               Si n<101 alors
              Affecter à P la valeur (0,12*30+0,10*60+0,08*100)+(0,06(n-100)
               Fin si

  Sortie:   Afficher P



Le contexte de cet algorithme est:
" Voici les tarifs de photocopies dans un magasin:
Entre 1 et 30: 0,12 euros l'unité
Entre 31 et 60: 0,10 euros l'unité
Entre 61 et 100: 0,08 euros l'unité
Plus de 100: 0,06 euros l'unité


Merci beaucoup de me répondre

*** message déplacé ***

Posté par
Titana
re : Programme 21-02-15 à 14:21

Bonjour,
Saisir = prompt
Si = If
Alors = Then (aller à la ligne pour le placer)
Affecter à Y la valeur X = X→Y ( la fleche c'est la touche  sto→)
Fin Si = End
Afficher P = Disp P

Si tu as des problèmes, que ti ne trouves pas telle ou telle touche, dis le, je t'aiderai
A la fin, tu pourras poster ton programme si ti veux que l'on vérifie

*** message déplacé ***

Posté par
Cpierre60
re : Problème avec un algorithme 21-02-15 à 15:57

Bonjour,
Fais attention à bien délimiter les tranches: les valeurs 30, 60, 100 doivent être d'un côté ou de l'autre..il y a des inégalités strictes et des inégalités larges (des < et des )...
Traite aussi la barrière des 60 et des 100 : je n'ai fait que te donner la démarche pour celle de 30 !

Désolé, je n'ai pas de TI...
Si tu veux, je peux te mettre ça sous Algobox, mais rien de plus !

Posté par
Berluchon
Bonsoir 21-02-15 à 18:44

Merci de votre aide, mais lorsque j'exécute le programme, la calculatrice affiche: ERREUR: TYPEONNÉE!

*** message déplacé ***

Posté par
Berluchon
re : Programme 22-02-15 à 08:05

Ça ne marche pas quand je met:
Prompt N
If N>30
Then
P→N*0.12
End
Disp P



Ça met soit: ERREUR:TYPEONNÉE
ou quand j'essaye de modifier: ERREUR:TYPE:SYNTAXE!

*** message déplacé ***

Posté par
patrice rabiller
re : Programme 22-02-15 à 08:32

Bonjour,

Pour affecter à P la valeur N*0,12, il faut écrire : N*1.12P

C'est l'occasion de rappeler que l'affectation, sur les calculatrices, se fait avec la flèche dirigée vers la droite et de bien comprendre les 2 membres de cette "opération" :

En langage algorithmique on dit : "P prend la valeur N*0,12"
En langage calculatrice on dit : "La valeur N*0,12 est envoyée dans P"

*** message déplacé ***

Posté par
Berluchon
re : Programme 22-02-15 à 09:43

MERCI!

*** message déplacé ***

Posté par
Berluchon
re : Programme 22-02-15 à 10:58

Par contre, je ne comprend pas vraiment le sens de la question d'après:
-Exprimer en fonction de N le prix à payer pour N photocopies dans chacun des cas suivants:
- 1≤N≤30
_ 31≤N≤60
- 61≤N≤100
- N>100

Votre aide me ferait vraiment plaisir!


Et par pure curiosité, quelle est l'utilité d'utiliser un algorithme dans ce genre de situation (celle de l'exo)?




*** message déplacé ***

Posté par
jeveuxbientaider
re : Programme 22-02-15 à 11:03

Bonjour,

Multi-post non ? Quelles sont les différences avec ton autre sujet : -----> Problème avec un algorithme

*** message déplacé ***



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