loulou34212 Posté(e) le 17 janvier 2019 Signaler Posté(e) le 17 janvier 2019 Bonjour, je suis coincé sur cette question, pouvez vous m'aider svp. Un représentant touche une commission sur les articles vendus selon le barème de pourcentage par tranches suivant. ► 2% des ventes quand le montant est inférieur à 10000 €; ► 3% des ventes quand le montant est compris entre 10000 et 15000 €; ► 5% des ventes quand le montant est supérieur à 15000 €. Exemple Le représentant a vendu pour 12000 € d’article. Sa commission se calcule de la façon suivante. 2% de 10000 : 200 €; Il reste 2000 (=12000 – 10000) € qui vont générer 3% de commission soit 60 €. La commission s’élève donc à 260 €. Écrire en Python, une fonction qui prend pour paramètre le montant total des ventes et qui retourne la commission correspondante. Merci d'avance
E-Bahut pzorba75 Posté(e) le 17 janvier 2019 E-Bahut Signaler Posté(e) le 17 janvier 2019 Tu trouveras des blogs Python avec de l'aide en ligne vie google.fr: blog aide Python. Ici c'est un blog d'aide pour des maths, pas de la programmation.
loulou34212 Posté(e) le 17 janvier 2019 Auteur Signaler Posté(e) le 17 janvier 2019 merci pour ce conseille mais je dois juste marquer blog aide python ?
E-Bahut pzorba75 Posté(e) le 17 janvier 2019 E-Bahut Signaler Posté(e) le 17 janvier 2019 Puis chercher dans la liste des liens celui (ou ceux) qui te donnera(ont) le coup de main que tu cherches.
E-Bahut julesx Posté(e) le 17 janvier 2019 E-Bahut Signaler Posté(e) le 17 janvier 2019 De toute façon, ce type d'exercice devrait être mis dans le forum Informatique. Mais il a effectivement déjà été posté dans ce forum. https://www.e-bahut.com/topic/52535-devoir-maths-seconde-besoin-d-aide-svp-svp/?tab=comments#comment-203668
E-Bahut PAVE Posté(e) le 17 janvier 2019 E-Bahut Signaler Posté(e) le 17 janvier 2019 Bonjour à tous, Le lien donné par Jules conduit à ... A quoi au fait ? un algorithme ? un programme Algobox ? Pour sûr cela n'est pas une fonction (écrite en Python) qui prend pour paramètre le montant total des ventes et qui retourne la commission correspondante... Math ou info ? peu importe, c'est le prof de math qui... gère. Autant je m'étais "mis" à Algobox facilement, autant je peine à l'usage de Python (Edupython). Si notre Loulou (j'espère qu'il dispose de Python pour vérifier sa fonction ?) nous fournit la copie de ce qu'il a mis en place, on peut quand même essayer de lui venir en aide (Pzorba est très fort en python ) cela fera un petit entrainement... au moins pour moi. J'espère que Loulou a eu en classe quelques notions préalables d'algorithmique et une initiation minimale à l'environnement python....
E-Bahut julesx Posté(e) le 17 janvier 2019 E-Bahut Signaler Posté(e) le 17 janvier 2019 Bonjour PAVE, Le lien conduit effectivement à un programme Algobox, mais l'élève à l'époque demandait, à défaut, un algorithme.
E-Bahut Barbidoux Posté(e) le 17 janvier 2019 E-Bahut Signaler Posté(e) le 17 janvier 2019 Il y a 5 heures, loulou34212 a dit : Un représentant touche une commission sur les articles vendus selon le barème de pourcentage par tranches suivant. ► 2% des ventes quand le montant est inférieur à 10000 €; ► 3% des ventes quand le montant est compris entre 10000 et 15000 €; ► 5% des ventes quand le montant est supérieur à 15000 €. Exemple Le représentant a vendu pour 12000 € d’article. Sa commission se calcule de la façon suivante. 2% de 10000 : 200 €; Il reste 2000 (=12000 – 10000) € qui vont générer 3% de commission soit 60 €. La commission s’élève donc à 260 €. Écrire en Python, une fonction qui prend pour paramètre le montant total des ventes et qui retourne la commission correspondante.
E-Bahut julesx Posté(e) le 17 janvier 2019 E-Bahut Signaler Posté(e) le 17 janvier 2019 Pour la fonction, j'avais essayé ça, qui semblait fonctionner: def commission(V): if V<10000: C=0.02*V elif V<15000: C=0.02*10000+0.03*(V-10000) else: C=0.02*10000+0.03*(15000-10000)+0.05*(V-15000) return C Appel simple à la fonction par print(commission(20000)) Bien sûr, on pouvait simplifier les calculs intermédiaires. Comme je débute (un euphémisme !) dans ce langage, si j'ai tout faux, ne pas hésiter à me dire pourquoi.
E-Bahut PAVE Posté(e) le 17 janvier 2019 E-Bahut Signaler Posté(e) le 17 janvier 2019 J'ai fait la traduction pas à pas du programme de Jules (donc sans recourir au "and" de Barbidoux). J'ai testé et il me semble que cela tourne... Pourriez vous vérifier ma tentative ? merci. Je ne comprends pas l'utilité du "return" ? Barbidoux pourrais tu m'expliquer. Merci
E-Bahut Denis CAMUS Posté(e) le 17 janvier 2019 E-Bahut Signaler Posté(e) le 17 janvier 2019 Une fonction est un bloc d'instructions appelé par le programme principal. Elle commence par une définition et se termine par un return. Je ne connais pas Python, mais il semble que dans la fonction les variables sont locales. Donc à partir du "principal" de Barbidoux on appelle une fonction dénommée f à laquelle on associe la variable x. Cette fonction doit mouliner des calculs sur t, lequel prend la valeur tapée au programme principal et qui était x. Arrivée au bout des calculs, la fonction retourne le résultat au programme principal, d'où l'instruction "return". Dans le programme principal, la correspondance t <===> x se refait et l'affichage affichera x, calculé par la fonction.
E-Bahut julesx Posté(e) le 17 janvier 2019 E-Bahut Signaler Posté(e) le 17 janvier 2019 @ PAVE, à propos du "return" : Ton programme imprime le résultat, mais tu ne récupères pas celui-ci. Or, a priori, une fonction doit renvoyer un résultat que tu veux récupérer ailleurs, comme avec la fonction sinus(x) par exemple. En Pascal, on faisait la différence avec la procédure, qui faisait quelque chose sans forcément retourner une valeur, par exemple dessiner une figure. Mais comme dit, je débute ici...
E-Bahut Barbidoux Posté(e) le 17 janvier 2019 E-Bahut Signaler Posté(e) le 17 janvier 2019 Le "return" a pour but de renvoyer au niveau du programme principal la valeur calculée par la fonction (ici la commission). Le meilleur moyen de comprendre son fonctionnement est d'utiliser ce que calcule la fonction crée dans un programme principal avec et sans return. Je n'ai pas utilisé comme Julesx la subtilité elif qui permet d'imbriquer une suite de tests logiques et qui me semble assez difficile à comprendre pour un élève de seconde. Faire programmer des élèves de seconde en Python ou en C++ qui ont des exigences particulièrement rigoureuse en matière de syntaxe me semble très ambitieux quand on connait leur manque de rigueur dans le domaine de la sémiotique.
E-Bahut pzorba75 Posté(e) le 18 janvier 2019 E-Bahut Signaler Posté(e) le 18 janvier 2019 Il y a 7 heures, Barbidoux a dit : Le "return" a pour but de renvoyer au niveau du programme principal la valeur calculée par la fonction (ici la commission). Le meilleur moyen de comprendre son fonctionnement est d'utiliser ce que calcule la fonction crée dans un programme principal avec et sans return. Je n'ai pas utilisé comme Julesx la subtilité elif qui permet d'imbriquer une suite de tests logiques et qui me semble assez difficile à comprendre pour un élève de seconde. Faire programmer des élèves de seconde en Python ou en C++ qui ont des exigences particulièrement rigoureuse en matière de syntaxe me semble très ambitieux quand on connait leur manque de rigueur dans le domaine de la sémiotique. Programmer en Python est un art, que seul le compilateur - interpréteur est en mesure d'apprécier, tant la syntaxe est subtile et les résultats des programmes incertains. Cette technique éloigne quand même beaucoup des notions de base des programmes de mathématiques des lycées.
loulou34212 Posté(e) le 18 janvier 2019 Auteur Signaler Posté(e) le 18 janvier 2019 bonjours je vous remercie énormément pour votre aide mais g une petite question a vous poser c est pour savoir sur mon dm je mais le programme a qui ? celui de barbidoux est il juste
E-Bahut Denis CAMUS Posté(e) le 18 janvier 2019 E-Bahut Signaler Posté(e) le 18 janvier 2019 Tu essayes de comprendre les différents programmes et si tu peux, tu en fais un à ta sauce, avec tes noms de variables. Celui de Barbidoux est complet mais la consigne est : Citation Écrire en Python, une fonction qui prend pour paramètre le montant total des ventes et qui retourne la commission correspondante. À toi de trier.
loulou34212 Posté(e) le 18 janvier 2019 Auteur Signaler Posté(e) le 18 janvier 2019 a d accord c est a dire que celui de barbidoux ne répond pas a l énoncé? Mais quelqu un peut me donner un programme qui repond a l enonce et complet svp pour pouvoir comprendre car c mon premier programme en python je ne comprend rien merci d avance
E-Bahut Denis CAMUS Posté(e) le 18 janvier 2019 E-Bahut Signaler Posté(e) le 18 janvier 2019 Essaye de comprendre ce que demande l'énoncé, puis dissèque le programme de Barbidoux. Tu devrais en tirer quelque chose.
loulou34212 Posté(e) le 18 janvier 2019 Auteur Signaler Posté(e) le 18 janvier 2019 d'accord je v essayer si je te propose quelque chose pourra tu me le corrige stp ? voila g essayer je suis vraiment pas sur du tout def commission_sur_ventes(mv): cm=0 if mv >15000: .......... if 10000<mv15000: .......... if mv10000 .......... return cm ventes=18000 # Choix du montantprint ("La commission se monte à",commission_sur_ventes(ventes),"€")
E-Bahut julesx Posté(e) le 18 janvier 2019 E-Bahut Signaler Posté(e) le 18 janvier 2019 Il te reste à compléter avec chaque calcul de cm là où tu as mis des pointillés, cf. les différents posts précédents. Il manque également un double point après if mv10000:
loulou34212 Posté(e) le 18 janvier 2019 Auteur Signaler Posté(e) le 18 janvier 2019 g corriger pour ma copie mais est ce que tu peut m aider pour les pointillés stp
E-Bahut julesx Posté(e) le 18 janvier 2019 E-Bahut Signaler Posté(e) le 18 janvier 2019 As-tu compris le principe du calcul pour chaque cas ? Si oui, ce ne devrait pas poser de problème pour compléter ton programme. Si non, un peu d'aide : Si mv est supérieur à 15000 €, la commission cm se calcule comme suit 2% des 10000 premiers euros, soit 0,02*10000=200 € 3 % des euros compris entre 10000 et 15000 €, soit 0,03*(15000-10000)=150 € 5% des euros supérieurs à 15000 euros, soit 0,05*(mv-15000) €. Au total on a donc cm=0,05*(mv-15000)+150+200=0,05*(mv-15000)+350. La première condition s'écrit donc if mv >15000: cm=0.05*(mv-15000)+350 C'est tout. Tu essaies pour les deux autres conditions ?
loulou34212 Posté(e) le 18 janvier 2019 Auteur Signaler Posté(e) le 18 janvier 2019 ok merci enormement g compris ce que tu as marquer mais j e n arrive pas pour la suite ce n est pas grave dsl je ne te derange plus
E-Bahut julesx Posté(e) le 18 janvier 2019 E-Bahut Signaler Posté(e) le 18 janvier 2019 Mais tu ne me déranges pas ! Donc, pour la suite... * Si mv est compris entre 10000 € et 15000 €, la commission cm se calcule comme suit 2% des 10000 premiers euros, soit 0,02*10000=200 € 3% des euros supérieurs à 10000 euros, soit 0,03*(mv-10000) €. Au total on a donc cm=0,03*(mv-10000)+200 La deuxième condition s'écrit donc if 10000<mv15000: cm=0.03*(mv-10000)+200 * Si mv est inférieur à 10000 €, la commission cm se calcule comme suit 2% du montant , soit 0,02*mv La troisième condition s'écrit donc if mv10000: cm=0.02*mv P.S. : Tu as de quoi tester le programme ?
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.