IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

Exercice d'algorithme un peu stressant


Sujet :

Algorithmes et structures de données

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2023
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 19
    Localisation : Bénin

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2023
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Exercice d'algorithme un peu stressant
    Bonsoir tout le monde. J'aurai besoin de votre aide pour cet exercie. Il me pose assez de problèmes. Donc je m'en remet à vous


    La société MTN Bénin voudrait encourager ses commerciaux en leur attribuant commissions sur leur chiffre d'affaire (CA) mensuel. On considère qu'un mois est composé de 30 jours. On enregistre pour chaque commercial, le CA journalier. Chaque commercial a un objectif CA qui lui est fixé.
    Si le commercial réalise au moins 90% de l'objectif CA, sa commission sera de 5% de son CA mensuel réalisé.
    S'il dépasse l'objectif CA, sa commission sera de 8%.
    La société voudrait aussi mettre une appréciation sur le bulletin de paie des commerciaux. Pour une réalisation comprise entre 0% et 50% : « Doit faire plus d'effort >> Pour une réalisation comprise entre 51% et 100%: «< Bien >>
    Pour une réalisation de plus de 100%: « Félicitations >>
    1- Ecrire un algorithme qui permet de d'enregistrer les CA journaliers d'un commercial. 2- Ecrire une fonction maCommission qui permet de calculer la commission mensuelle d'un commercial.
    3- Ecrire une fonction Evaluation qui renvoie l'appréciation de la réalisation du commercial dans le mois.
    4- En bonus, MTN a décidé de donner 50.000 à tous les commerciaux qui ont fait au moins 500.000 de CA journalier pendant 15 jours.
    Ecrire une fonction qui permet de compter le nombre de fois où un commercial a réalisé un CA journalier de plus de 500.000.

  2. #2
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 621
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 621
    Points : 188 606
    Points
    188 606
    Par défaut


    Citation Envoyé par redwann Voir le message
    Il me pose assez de problèmes. Donc je m'en remet à vous
    Qu'est-ce qui te pose problème, en fait ? As-tu des questions plus spécifiques, pour comprendre l'énoncé ou y apporter une réponse ? Ou attends-tu simplement une solution toute cuite (que tu n'auras très probablement pas) ?
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  3. #3
    Membre confirmé Avatar de Galet
    Homme Profil pro
    Consultant/Programmeur Robotique industrielle
    Inscrit en
    Mars 2010
    Messages
    323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant/Programmeur Robotique industrielle

    Informations forums :
    Inscription : Mars 2010
    Messages : 323
    Points : 484
    Points
    484
    Par défaut
    Salut,
    +1 pour Dourouc05 : Donnes déjà ce que tu as fait, et à quel endroit tu as des soucis...

    Si tu angoisses sur la feuille blanche, commence par définir quelles sont les données et comment les stocker (Listes des commerciaux, des Commandes engrangées, des objectifs...).
    Ensuite comment y accéder en écriture puis en lecture.

    Prépare un petit code qui va te remplir quelques données (échantillons simples) de tests, ainsi que les résultats attendus pour chaque étapes.

    Ensuite tu peux commencer à définir tes algos (l'ordre des questions te permet de progresser). A chaque étape, contrôle que ton échantillon de données te donne le résultat attendu.
    Arrivé au dernier point, tente d'autres échantillons, notamment en proposant des cas particuliers (Un commercial qui n'a aucune commande par exemple, un mois sans commande, un ou plusieurs CA exactement aux limites...)
    Ensuite, si tu en as le temps, tu peux faire un peu de "propre" et de "beau"...

    N'hésites pas à proposer tes solutions, et les points qui "coincent" pour avoir de l'aide.
    Bon courage,
    Windows 10 / Delphi Tokyo
    "Les choses ne changent pas. Change ta façon de les voir, cela suffit" Lao Tseu

  4. #4
    Membre du Club
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mars 2023
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2023
    Messages : 31
    Points : 47
    Points
    47
    Par défaut
    1- Algorithme pour enregistrer les CA journaliers d'un commercial :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    def enregistrer_CA_journaliers():
        CA_mensuel = 0
        for i in range(1, 31):
            CA_jour = float(input("Entrer le CA du jour " + str(i) + " : "))
            CA_mensuel += CA_jour
        return CA_mensuel
    2- Fonction maCommission qui permet de calculer la commission mensuelle d'un commercial :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    def maCommission(objectif, CA_mensuel):
        if CA_mensuel >= objectif * 0.9:
            if CA_mensuel > objectif:
                commission = 0.08 * CA_mensuel
            else:
                commission = 0.05 * CA_mensuel
        else:
            commission = 0
        return commission
    3- Fonction Evaluation qui renvoie l'appréciation de la réalisation du commercial dans le mois :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    def Evaluation(objectif, CA_mensuel):
        if CA_mensuel <= 0.5 * objectif:
            appreciation = "Doit faire plus d'effort"
        elif CA_mensuel <= objectif:
            appreciation = "< Bien >"
        else:
            appreciation = "Félicitations"
        return appreciation
    4- Fonction bonus qui permet de compter le nombre de fois où un commercial a réalisé un CA journalier de plus de 500 000 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    def bonus(CA_jours):
        jours_sup_500k = 0
        for CA_jour in CA_jours:
            if CA_jour > 500000:
                jours_sup_500k += 1
        if jours_sup_500k >= 15:
            return 50000
        else:
            return 0
    Cette fonction renvoie 50000 si le commercial a réalisé un CA journalier de plus de 500 000 pendant au moins 15 jours, sinon elle renvoie 0. Notez que cette fonction prend en entrée la liste des CA journaliers, et pas le CA mensuel. Si vous voulez compter le nombre de fois où le commercial a réalisé un CA journalier de plus de 500 000 et que vous avez le CA mensuel :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    def bonus(CA_mensuel):
        jours_sup_500k = 0
        for CA_jour in CA_mensuel / 30:
            if CA_jour > 500000:
                jours_sup_500k += 1
        if jours_sup_500k >= 15:
            return 50000
        else:
            return 0
    Notez que dans ce cas, vous devez diviser le CA mensuel par 30 pour obtenir le CA journalier moyen.

Discussions similaires

  1. Message un PEU stressant.
    Par Fredche dans le forum IHM
    Réponses: 4
    Dernier message: 16/06/2008, 18h59
  2. exercice en algorithme
    Par robi987 dans le forum Algorithmes et structures de données
    Réponses: 9
    Dernier message: 16/05/2008, 23h24
  3. [TP] Demande de résolution d'un exercice en algorithme
    Par zogrom dans le forum Turbo Pascal
    Réponses: 2
    Dernier message: 14/03/2006, 23h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo