M'aider à faire un exercice en algorithme
Résolu/Fermé
jamesbandes
Messages postés
7
Date d'inscription
lundi 10 décembre 2007
Statut
Membre
Dernière intervention
23 mars 2010
-
22 janv. 2008 à 22:51
malek - 12 mai 2008 à 20:06
malek - 12 mai 2008 à 20:06
A voir également:
- M'aider à faire un exercice en algorithme
- Logiciel algorithme gratuit - Télécharger - Édition & Programmation
- Logiciel algorithme euromillion - Télécharger - Loisirs créatifs
- Algorithme euromillion excel gratuit - Forum Logiciels
- Fleur d'encre 5eme corrigé exercice ✓ - Forum PDF
- Algorithme qui calcule le carré d'un nombre - Forum Algorithmes / Méthodes
14 réponses
tarek_dotzero
Messages postés
817
Date d'inscription
jeudi 19 juillet 2007
Statut
Membre
Dernière intervention
12 avril 2022
122
23 janv. 2008 à 11:20
23 janv. 2008 à 11:20
Bonjour,
Ce code est en pascal, vous n'avez pas specifié le langage! il n'est pas testé!
Ce code est en pascal, vous n'avez pas specifié le langage! il n'est pas testé!
function CalculPrix(prixBase: Float, nbrPersonnes: Integer, nbrEnfants: Integer): Float; var nbrAdult: Integer; lePrix : Float; Begin nbrAdult := nbrPersonnes - nbrEnfants; lePrix := nbrEnfant * prixBase * 0.6; if nbrAdult < 4 then lePrix := lePrix + (prixBase * nbrAdult) else begin if nbrAdult < 8 then lePrix := lePrix + (prixBase * nbrAdult * 0.9) else lePrix := lePrix + (prixBase * nbrAdult * 0.8); end; CalculPrix := lePrix; end;
DjSKeud
Messages postés
97
Date d'inscription
mardi 25 avril 2006
Statut
Membre
Dernière intervention
22 avril 2015
31
22 janv. 2008 à 22:55
22 janv. 2008 à 22:55
pa dure, mais juste une précision sur "les groupes d'adultes" ... on cocidere que a partir du moment ou il y a 4 adultes (meme sils ne se connaissent pas) ils font partis d'un groupe et bénéficient de la réduction ?
jamesbandes
Messages postés
7
Date d'inscription
lundi 10 décembre 2007
Statut
Membre
Dernière intervention
23 mars 2010
24 janv. 2008 à 21:33
24 janv. 2008 à 21:33
merci pour les réponses que tu m'a apporté
et je vous remercie encore une fois
bay
et je vous remercie encore une fois
bay
DjSKeud
Messages postés
97
Date d'inscription
mardi 25 avril 2006
Statut
Membre
Dernière intervention
22 avril 2015
31
23 janv. 2008 à 11:11
23 janv. 2008 à 11:11
???
JFS77
Messages postés
389
Date d'inscription
mercredi 23 janvier 2008
Statut
Membre
Dernière intervention
15 décembre 2015
70
23 janv. 2008 à 11:27
23 janv. 2008 à 11:27
SAlut,
il a demandé en algorithme donc pas besoin de preciser le langage ;-)
Sinon cete solution me semble nikel (bravo lol). Si tu as des difficultés a comprendre je te l'écris en algo (enfin ca me semble très clair tout de même)
il a demandé en algorithme donc pas besoin de preciser le langage ;-)
Sinon cete solution me semble nikel (bravo lol). Si tu as des difficultés a comprendre je te l'écris en algo (enfin ca me semble très clair tout de même)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
DjSKeud
Messages postés
97
Date d'inscription
mardi 25 avril 2006
Statut
Membre
Dernière intervention
22 avril 2015
31
23 janv. 2008 à 11:31
23 janv. 2008 à 11:31
bonjour a vous tarek_dotzero et JFS77
je pense en effet qu'ils manques quelques informations. Au dela du langage, il faut egalement eclairsir la notion de "groupe d'adultes". Que fais-tu si il y a plus de 16 adultes ? ton code semble comter comme "groupe" uniquement les 8 premiers en tant que groupe, et faire payer les autres au prix fort.
Autrement di, je pense qu'il faut adns un 1ier temps effectivement soustraire les enfants du nombre total de personne, mais que ensuite il faut compter combien de groupe de 8 personnes il est possible de faire. ensuite, une fois que tous ces groupes sont fait, tester si les nombre de personnes sans groupe est suppérieur à 4, au quel cas tu peux refaire un groupe de 4 avec les personnes restantes. s'il reste encore des adultes sans groupe, alors uniquement ceux-ci (3 maximum), payrons le prix fort.
exple pour 24 personnes, dont 3 enfants, cela donne :
- 3 enfants
- 2 groupes de 8 adultes
- 1 groupe de 4 adultes
- 1 adulte seul
.. c'est en gros quelques lignes de plus à coder, mais pas de language, pas de code ! :D
je pense en effet qu'ils manques quelques informations. Au dela du langage, il faut egalement eclairsir la notion de "groupe d'adultes". Que fais-tu si il y a plus de 16 adultes ? ton code semble comter comme "groupe" uniquement les 8 premiers en tant que groupe, et faire payer les autres au prix fort.
Autrement di, je pense qu'il faut adns un 1ier temps effectivement soustraire les enfants du nombre total de personne, mais que ensuite il faut compter combien de groupe de 8 personnes il est possible de faire. ensuite, une fois que tous ces groupes sont fait, tester si les nombre de personnes sans groupe est suppérieur à 4, au quel cas tu peux refaire un groupe de 4 avec les personnes restantes. s'il reste encore des adultes sans groupe, alors uniquement ceux-ci (3 maximum), payrons le prix fort.
exple pour 24 personnes, dont 3 enfants, cela donne :
- 3 enfants
- 2 groupes de 8 adultes
- 1 groupe de 4 adultes
- 1 adulte seul
.. c'est en gros quelques lignes de plus à coder, mais pas de language, pas de code ! :D
tarek_dotzero
Messages postés
817
Date d'inscription
jeudi 19 juillet 2007
Statut
Membre
Dernière intervention
12 avril 2022
122
23 janv. 2008 à 11:44
23 janv. 2008 à 11:44
Salut,
En effet, cela simplifie les chose:
Comme vous l'avez dit: la première partie est bonne, donc cette partie est pour les adultes:
Un rappel: le div donne la division entière et le mod le modulo!
On ajoute la declaration de quelque variables:
prixGroup8 := prixBase * 8 * 0.8;
prixGroup4 := prixBase * 4 * 0.9;
nbrGroup8 := nbrAdult div 8;
nbrGroup4 := (nbrAdult mod 8) div 4;
nbrPersonnesSeules := nbrAdult - (nbrGroup8 * 8) - (nbrGroup4 * 4);
lePrix := lePrix(des enfanst) + nbrGroup8 * prixGroup8 + nbrGroup4 * prixGroup4 + nbrPersonnesSeules * prixBase;
Je ne teste pas, mais si j'ai bien compris cela doit marcher!
En effet, cela simplifie les chose:
Comme vous l'avez dit: la première partie est bonne, donc cette partie est pour les adultes:
Un rappel: le div donne la division entière et le mod le modulo!
On ajoute la declaration de quelque variables:
prixGroup8 := prixBase * 8 * 0.8;
prixGroup4 := prixBase * 4 * 0.9;
nbrGroup8 := nbrAdult div 8;
nbrGroup4 := (nbrAdult mod 8) div 4;
nbrPersonnesSeules := nbrAdult - (nbrGroup8 * 8) - (nbrGroup4 * 4);
lePrix := lePrix(des enfanst) + nbrGroup8 * prixGroup8 + nbrGroup4 * prixGroup4 + nbrPersonnesSeules * prixBase;
Je ne teste pas, mais si j'ai bien compris cela doit marcher!
DjSKeud
Messages postés
97
Date d'inscription
mardi 25 avril 2006
Statut
Membre
Dernière intervention
22 avril 2015
31
23 janv. 2008 à 11:47
23 janv. 2008 à 11:47
... voila quelque chose qui me semble plus raisonnable tarek_dotzero :)
apres c'est à voir en fonction du cahier des charges. C'est bien beau de laisser des posts pour que les autres se creusent la tête, mais encore faudrait-il répondre :)
apres c'est à voir en fonction du cahier des charges. C'est bien beau de laisser des posts pour que les autres se creusent la tête, mais encore faudrait-il répondre :)
DjSKeud
Messages postés
97
Date d'inscription
mardi 25 avril 2006
Statut
Membre
Dernière intervention
22 avril 2015
31
23 janv. 2008 à 22:56
23 janv. 2008 à 22:56
au plaisir
l'algorithme et le module le plus important dans ma filiére de spécialité et je trouve des difficultés pour le métriser alors n'hésitez pas de m'aider à trouver une solution le plutot possible je compte sur vous .et merci d'avance.
ecrire une analyse et en deduire un algorithme intitulé FACTORIEL qui calcul puis affiche le factoriel d un entier naturel N donné. N != 1.2.3.4.5.......N
le nombre 1089 a la propriété suivante: 9801= 9 x 1089. il ya d autre nombres de 4 chiffres qui verifie cette propriété. ecrire une analyse et un algorithme qui determine puis affiche ces nombres.
ecrire une analyse et en deduire un algorithme qui cherche et affiche tous les carrés parfaits de la formes aabb.