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
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 ?
Dernière modification par Tlaloc ; 16/11/2011 à 20h35.
16/11/2011 - 22h42
dominfran
Date d'inscription
octobre 2009
Âge
23
Messages
39
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.
16/11/2011 - 22h51
Tlaloc
Date d'inscription
août 2011
Messages
555
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 ?
16/11/2011 - 23h54
dominfran
Date d'inscription
octobre 2009
Âge
23
Messages
39
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