sous programme (procédure et fonction)
Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

sous programme (procédure et fonction)



  1. #1
    invite9d4981e7

    Post sous programme (procédure et fonction)


    ------

    Bonsoir,
    pourriez vous m'aider à résoudre ce problème s'il vous plaît

    Vous devez maintenant écrire un programme calculant le bénéfice que réalise une entreprise sur un produit donné.On vous fournit le code du produit,le prix de vente et la quantité vendue.Pour connaître la marge réalisée sur le prix de vente, il faut se référer au code qui est une chaîne de caractères:
    Si le code débute par B, la marge est de 7%;
    cas particulier, la marge est de 10% pour les produits dont le code commence par les caractères BZ;
    si le code commence par AE , AR ou AT, la marge est de 8%;
    cas particulier, la marge est de 5% si le code débute par AEF;
    dans tous les autres cas,la marge est de 6%.
    Prenons l'exemple du produit codé AT554. Comme son code commence par AT, la marge est de 8%.Si l'entreprise vend 200 exemplaires de ce produit à 65€ pièce, elle réalise un bénéfice de 8%*65*200=1040€.
    Pour récupérer la chaîne de caractères constituée des n premiers caractères d'une chaîne Ch,appelez la fonction Gauche (ch,n)
    Par exemple,Gauche ("Bonjour à tous :",7) renverra"Bonjour".

    1/écrivez un sous-programme calculant le bénéfice réalisé pour un produit donné.Vous déterminez évidemment les paramètres nécessaires .

    Me confirmez vous?
    Code:
    1/var
    code: chaînedecaractere
    marge: reel
    fonction calculbenefice((code:chaînedecaractere,marge:reel)
    début
    si code 
             retourner (B)
             retourner(BZ)
             retourner(AE)
    sinon:retourner(AEP)
    fin si
    fin
    si marge 
              retourner(5%*65*200=650€)
              retourner(6%*65*200=780€)
              retourner(7%*65*200=910€)
              retourner(8%*65*200=1040€)
    sinon   retourner(10%*65*200=1300€)
    
    fin si 
    fin
    début 
    saisir "code":,code
    saisir"marge":,marge
    benefice:=calculbenefice
    afficher "benefice:",code+marge
    fin
    je vous remercie pour votre aide

    -----

  2. #2
    invitea0ecda6e

    Re : sous programme (procédure et fonction)

    Bonjour dominfran,
    J'ai beau réfléchir, je ne parviens pas à savoir si tu as écris un code (quel langage ?) ou un algo...
    Dans tous les cas, j'ai bien l'impression que ton code est faux mais commence par préciser le langage ou si c'est un algo et puis on pourra t'aider.
    En particulier l'écriture
    Code:
    si code 
             retourner (B)
             retourner(BZ)
             retourner(AE)
    Me parait plus qu'étrange... Si code = quoi ? on retourne plusieurs valeurs ?

  3. #3
    invite9d4981e7

    Post Re : sous programme (procédure et fonction)

    sous programme
    rôle et constitution des sous-programmes:
    un sous-programme réalise une tâche précise;
    il prend des valeurs en entrée et retourne aucun résultat (procédure),un seul (fonction) ou plusieurs (procédure);
    un sous-programme doit être autonome (donc pouvoir être utilisé dans un programme par simple copier/coller);
    un sous programme est constitué d'intructions.
    on utilisera une fonction lorsque le sous-programme renvoie un seul résultat.Dans le cas contraire (il renvoie aucun ou plusieurs résultats),il faut une procédure.
    Toute fonction peut s'écrire sous la forme d'une procédure.En pratique (avec un langage de programmation et non plus un algorithme), on peut se trouver face à des limitations techniques:la majorité des langages n'acceptent comme résultat de fonction que des types de base ( entier,booléen,chaîne,caractèr e...).
    ainsi,même si d'un point de vue algorithmique il est correct de vouloir faire une fonction, vous devez parfois la coder sous la forme d'une procédure.

  4. #4
    invitea0ecda6e

    Re : sous programme (procédure et fonction)

    dominfran, tu ne réponds pas aux questions qu'on te pose, tu te contentes de copier ton énoncé ou ton cours, c'est un peu énervant.
    On aimerait avoir ton avis à toi qui a suivi ton cours (contrairement à nous).

    Bref, je comprend qu'il faut que tu rédiges un algo. Dans ce cas (ou dans un autre) je ne comprend toujours pas comment tu utilises tes conditions.
    En général, tu as si A = B. si A ne marche que si A est un boolean, ce qui n'est pas le cas ici.

    Je pense que tu dois plutôt faire quelque chose dans le style:

    Code:
    si code.debutePar("B")
      si code.debutePar("BZ")
        retourne 10
      sinon
        retourne 7
      fin si
    sinon
      ...
    fin si
    Ça ne te parait pas plus logique ?

  5. A voir en vidéo sur Futura
  6. #5
    invite9d4981e7

    Post Re : sous programme (procédure et fonction)

    me confirmez vous?


    si code debutePar("AE"),("AR")
    si code debutePar("AEP")
    retourne 8
    sinon
    retourne 5
    sinon
    retourne 6
    finsi

  7. #6
    invitea0ecda6e

    Re : sous programme (procédure et fonction)

    Quel niveau as-tu dominfran ?
    Quand tu écris du code, utilise les balise \[CODE\] et un peu d'incrémentation pour rendre le code plus clair.

    Je confirme à moitié:
    - écrit ton algo en entier
    - si code debutePar("AE"),("AR") -> si code.debutePar("AE") ou code. debutePar("AR")

  8. #7
    invite1445654e

    Re : sous programme (procédure et fonction)

    Coucou bon déjà on va écrire un algo comme il faut siouplait
    Code:
    Fonction Réel CalculBenefice(CodeProduit:chaine de caractere,prixunitaire : réel , quantitévendue : entier)
    Début
        Variable marge : réel
        marge = 0.06; 
        Si Gauche(CodeProduit,2) = 'BZ'
            marge = 0.1;
        sinon si Gauche(CodeProduit,3) = 'AEF'
            marge = 0.05;
        sinon si Gauche(CodeProduit,1) = 'B'
            marge = 0.07;
        sinon si Gauche(CodeProduit,2) = 'AE'
            marge = 0.08;
        sinon si Gauche(CodeProduit,2) = 'AR'
            marge = 0.08;
        sinon si Gauche(CodeProduit,2) = 'AT'
            marge = 0.08;
        finsi  
        retourne marge*prixunitaire*quantitevendue;  
    
    
    Fin

Discussions similaires

  1. programme sous matlab
    Par invitef3eab0af dans le forum Programmation et langages, Algorithmique
    Réponses: 1
    Dernier message: 19/07/2011, 18h26
  2. procédure , sous-programme
    Par invite0fd5e1c6 dans le forum Programmation et langages, Algorithmique
    Réponses: 1
    Dernier message: 28/04/2011, 23h08
  3. Programme pour rangement de point en fonction de leur distance sous Matlab?
    Par inviteece56b35 dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 13/07/2009, 16h09
  4. programme qui tourne sous win98 et plante sous win xp
    Par serrepate dans le forum Logiciel - Software - Open Source
    Réponses: 6
    Dernier message: 27/06/2007, 08h50
  5. pascal : fonction et procedure!!!
    Par invite71aa5c98 dans le forum Logiciel - Software - Open Source
    Réponses: 5
    Dernier message: 19/05/2007, 14h28