Rédiger un algorithme



  • Bonsoir à tous

    Un cinéma propose 3 modes de paiement des séances :
    Formule 1 : on paie 10€ la séance
    Formule 2 : on paie une carte de réduction de 30€ qui permet d'acheter les places au tarif réduit de 5€ la place
    Formule 3 : on achète une carte pass de 90€ qui permet d'assister à toutes les séances pendant 1 an

    Je dois rédiger un algorithme affichant la formule la plus avantageuse et son montant lorsque l'on saisit le nombre annuel de séances.

    Je commence à peine les algo et je n'y comprends rien

    pouvez vous m'aider
    merci à vous



  • Bonjour,

    Avant de commencer à essayer de faire un algorithme, comment ferais tu à la main ?

    Quel serait le prix P1 de x places avec la formule 1 ?

    Quel serait le prix P2 de x places avec la formule 2 ?

    Quel serait le prix P3 de x places avec la formule 3 ?



  • Formule 1 : 10€* 365 jours = 3650 € pour 1 an
    Formule 2 : 5€ *365 jours + 30 = 1855 € pour 1 an
    Formule 3 = 90 €



  • La personne ne va pas tous les jours au cinéma !

    Elle y a va x fois !



  • Prix pour la formule 1 = 10x
    Prix pour la formule 2 = 5
    x+30
    Prix pour la formule 3 = 90



  • Oui P1 = 10x
    P2 = 5
    x + 30
    P3 = 90

    Donc maintenant on essaye de comprendre comment fonctionne un algorithme

    On va demander à une machine de nous dire quelle formule est la plus avantageuse pour x séances , le nombre x étant précisé à la machine qui doit nous aider !

    Un algorithme à une structure générale :

    Déclaration des variables nécessaires à sa résolution

    Saisie de(s) donnée(s) nécessaire(s) à son déroulement

    Traitement (calculs , tests , boucles etc ....)

    Affichage du résultat.

    Avec ce que tu as vu en cours aurais-tu une idée à proposer ?



  • Au fait les réponses sur P1 ,P2 et P3 tu les avais eues sur 2 autres forums : l'île et Futura Forums !

    Alors me donner Formule 1 : 10€* 365 jours = 3650 € pour 1 an
    Formule 2 : 5€ *365 jours + 30 = 1855 € pour 1 an
    Formule 3 = 90 € ??????



  • Variables
    F pour Formules
    M pour montant

    Entrées
    Saisir F et M

    Traitement



  • Les formules ne sont pas à saisir !

    Elles sont connues et en plus ce ne sont pas nombres mais des phrases avec lesquelles la machine ne peut rien faire ?

    Et tu crois qu'un seul montant sera suffisant pour trouver le prix le plus avantageux ?

    Comment ferais tu à la main ?



  • de plus le montant à payer doit être calculé par la machine pas par la personne qui utilise l'algorithme ! Sinon pourquoi utiliser une machine ?



  • Variables : N entier P prix
    Entrée : saisir N
    Traitement :
    Si N sup 10*x
    alors



  • Au lieu d'essayer n'importe quoi tu pourrais au moins essayer d'être cohérent !

    Dans ton algo , N représente quoi pour toi ?

    Pour quoi il y a 10*x plus loin ?

    Tu quoi vraiment qu'il faut qu'une variable P pour calculer les 3 prix payés ?

    La machine sait faire des calculs du genre Y reçoit la valeur 10*x quand elle connait x !

    Et elle sait comparer des valeurs ......

    Si MACHIN > BIDUL alors ..........



  • Franchement j'essaie de regarder le peu que j'ai commencé en classe mais rien à voir

    j'essaie autre chose :

    Variables
    A,B,C,N : nombre

    Début
    Afficher le nombre de séances

    A prend la valeur 10N
    B prend la valeur 5
    N+30
    C prend la valeur 90

    Si A inf B
    Afficher la formule la plus avantageuse est la formule A

    Si A sup B
    Afficher la formule la plus avantageuse est la formule B



  • Il ne faut pas afficher le nombre de séances, il faut le saisir !

    Et ensuite après les avoir calculés il faut comparer les nombres A avec B et C

    Si A < B et A < C , alors la formule la plus avantageuse est la formule 1

    Si B < A et B < C , alors ........

    Tu continues !



  • Je ne comprends pas comment doit on écrire exactement l'algorihtme

    Variables
    A,B,C, N : nombre

    Début
    Saisir le nombre de séances
    Lire N

    A prend la valeur 10N
    B prend la valeur 5
    N +30
    C prend la valeur 90

    Si A inf B et A inf C
    Alors la formule la plus avantageuse est le formule 1

    Si B INF A et B inf C
    Alors la formule la plus avantageuse est le formule 2

    Si C inf A et C inf B
    Alors la formule la plus avantageuse est la formule 3



  • Il serait préférable d'écrire :

    .....Alors Afficher "la formule est la plus avantageuse est la formule ...."

    Un détail on n'a traité que les cas où A < B et A < C etc ....

    On pourrait raffiner en regardant en cas d'égalité ! Mais bon c'est un bon début pour un début de cours sur les algorithmes !

    Afficher "la formule est la plus avantageuse est la formule ." écrit ce qui est entre "" ""

    Afficher A , afficherait le contenu de la variable A

    Tu vois la différence ?

    Bonne continuation pour la découverte de nouveaux algorithmes ! 😄



  • ai je bon sur le début de mon algo de "Variables à C prend la valeur 90"?



  • Je n'ai pas dit que tu avais fait un erreur sur cette partie !



  • Un détail on n'a traité que les cas où A < B et A < C etc ....
    On pourrait raffiner en regardant en cas d'égalité

    Là je bloque

    je ne sais plus quoi écrire



  • Un détail on n'a traité que les cas où A < B et A < C etc ....

    On pourrait raffiner en regardant en cas d'égalité ! Mais bon c'est un bon début pour un début de cours sur les algorithmes !

    Il ne faut quand même pas demander à un élève d'être un expert en algo lors de son premier cours sue les algorithmes ! 😉



  • Merci à vous pour m'avoir apporté votre aide



  • Bonjour,

    Un petit complément au besoin.

    Evidemment, ce serait très bien de compléter avec les cas d'égalité, car avec ce programme, si l'utilisateur donne une valeur de x correspondant à une égalité, le programme ne fonctionnera pas.

    Sans rien faire de plus, on peut déjà remplacer les "<" par "≤" .
    Ce ne sera pas parfait car en cas d'égalité le programme donnera qu'une seule bonne réponse, mais il fonctionnera.

    Pour que ce programme "tourne", sur un logiciel de programmation ou une calculette, il faut utiliser les bouclesSi...alors..Sinon... (au lieu des "Si" successifs).

    A toute fin utile, je joins un programme fait avec Algobox (logiciel gratuit à télécharger, souvent utilisé dans l'Education Nationale)

    fichier math

    Bon travail.


 

Encore plus de réponses par ici

Il semble que votre connexion ait été perdue, veuillez patienter pendant que nous vous re-connectons.