Rédiger un algorithme
-
VVEROTIL dernière édition par
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 anJe 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 ?
-
VVEROTIL dernière édition par
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 !
-
VVEROTIL dernière édition par
Prix pour la formule 1 = 10x
Prix pour la formule 2 = 5x+30
Prix pour la formule 3 = 90
-
Oui P1 = 10x
P2 = 5x + 30
P3 = 90Donc 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 € ??????
-
VVEROTIL dernière édition par
Variables
F pour Formules
M pour montantEntrées
Saisir F et MTraitement
-
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 ?
-
VVEROTIL dernière édition par
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 ..........
-
VVEROTIL dernière édition par
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 : nombreDébut
Afficher le nombre de séancesA prend la valeur 10N
B prend la valeur 5N+30
C prend la valeur 90Si A inf B
Afficher la formule la plus avantageuse est la formule ASi 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 !
-
VVEROTIL dernière édition par
Je ne comprends pas comment doit on écrire exactement l'algorihtme
Variables
A,B,C, N : nombreDébut
Saisir le nombre de séances
Lire NA prend la valeur 10N
B prend la valeur 5N +30
C prend la valeur 90Si A inf B et A inf C
Alors la formule la plus avantageuse est le formule 1Si B INF A et B inf C
Alors la formule la plus avantageuse est le formule 2Si 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 !
-
VVEROTIL dernière édition par
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 !
-
VVEROTIL dernière édition par
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 !
-
VVEROTIL dernière édition par
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)
Bon travail.