Pb d'algorithmie simple
Résolu/Fermé
hellzebuth
Messages postés
3
Date d'inscription
mercredi 12 mars 2008
Statut
Membre
Dernière intervention
12 mars 2008
-
12 mars 2008 à 18:10
greg - 27 avril 2008 à 21:01
greg - 27 avril 2008 à 21:01
A voir également:
- Pb d'algorithmie simple
- Iphone 14 simple - Guide
- Simple ocr - Télécharger - Bureautique
- Simple file locker - Télécharger - Sécurité
- Organigramme simple - Guide
- Pdf simple - Télécharger - PDF
4 réponses
hellzebuth
Messages postés
3
Date d'inscription
mercredi 12 mars 2008
Statut
Membre
Dernière intervention
12 mars 2008
12 mars 2008 à 18:26
12 mars 2008 à 18:26
Tiens pour ceux qui auront la bonté de m'aider je pense avoir trouvé une bonne piste :
Je veux calculer le nombre de façons de faire un total de N centimes étant donné le nombre de types de pièces qui existent (n) et le nombre que je possède et la valeur en centimes de chaque type (tableaux Nombre et Valeur indicés de 1 à n.)
Calcul de NBFac(Tot,i) le nombre de façons de faire un total de Tot centimes en n'utilisant que les pièces des i premiers types:
t:=0; // sera le nombre souhaite
u:=0; // le nombre de pieces de type i utilisees
repeter
t:=t+NBFac[Tot-u*Valeur[i],i-1];
u:=u+1;
jusqu'a u>Nombre[i] ou u*Valeur[i]>Tot
finrepeter;
sauf les cas i=0 (NBFac[Tot,0]=1 ou 0 selon si Tot=0)
Je pense que c'est ça qu'il faut faire mais maintenant je ne sais pas comment faire le tableaux Nombre et Valeur indicés de 1 à n
Je veux calculer le nombre de façons de faire un total de N centimes étant donné le nombre de types de pièces qui existent (n) et le nombre que je possède et la valeur en centimes de chaque type (tableaux Nombre et Valeur indicés de 1 à n.)
Calcul de NBFac(Tot,i) le nombre de façons de faire un total de Tot centimes en n'utilisant que les pièces des i premiers types:
t:=0; // sera le nombre souhaite
u:=0; // le nombre de pieces de type i utilisees
repeter
t:=t+NBFac[Tot-u*Valeur[i],i-1];
u:=u+1;
jusqu'a u>Nombre[i] ou u*Valeur[i]>Tot
finrepeter;
sauf les cas i=0 (NBFac[Tot,0]=1 ou 0 selon si Tot=0)
Je pense que c'est ça qu'il faut faire mais maintenant je ne sais pas comment faire le tableaux Nombre et Valeur indicés de 1 à n
hellzebuth
Messages postés
3
Date d'inscription
mercredi 12 mars 2008
Statut
Membre
Dernière intervention
12 mars 2008
12 mars 2008 à 22:26
12 mars 2008 à 22:26
Merci beaucoup greg pour ton aide ! J'avais déjà trouvé des trucs qui ressemblaient, mais maintenant j'ai des critères d'arrêts clairs et je suis sur que c'est ça, merci encore d'avoir pris la peine de m'aider.
Salut,
Jaimerais écrire un algorithme qui affiche et calcul la somme des 10000 premiers nombres paires et impaires.
Jaimerais écrire un algorithme qui affiche et calcul la somme des 10000 premiers nombres paires et impaires.
slt tout le monde .voila j'ai un probléme concernant cet exercice surtout la3eme question .sasré vraiment sympas si vous pouvé m'aidé marci.
l'enoncé de l'exo:
un employé est décrit par son nom (25 cractéres ) age(entier) sexe (M\F) et le nombres d'heure assuréespar jour sam,dim;lun;mar,merc,jeu,vend)
1.ecrire un sous programme permettant de saisir un nombre n d'enregistrement employés.
2.ecrire un sous programme permettant de de calculer un salaire hebdomadaire d'un employé dant le nom et prénom sont données par l'utilisateur salaire (1 heure =150 Da)
3.utiliser les deux sous programme pour ecrire un algorithme qui offre un petit menu qui pemet le choix ente 3 actions:
a. saisie d'enregistrement.
b.calcul du salaire hebdomadaire d'un employés.
c.quitter.
l'enoncé de l'exo:
un employé est décrit par son nom (25 cractéres ) age(entier) sexe (M\F) et le nombres d'heure assuréespar jour sam,dim;lun;mar,merc,jeu,vend)
1.ecrire un sous programme permettant de saisir un nombre n d'enregistrement employés.
2.ecrire un sous programme permettant de de calculer un salaire hebdomadaire d'un employé dant le nom et prénom sont données par l'utilisateur salaire (1 heure =150 Da)
3.utiliser les deux sous programme pour ecrire un algorithme qui offre un petit menu qui pemet le choix ente 3 actions:
a. saisie d'enregistrement.
b.calcul du salaire hebdomadaire d'un employés.
c.quitter.
12 mars 2008 à 21:26
12 mars 2008 à 21:56
comme je peux répondre sans être membre, je te répond.
Voici le squelette de la fonction que tu recherches.
Déjà il faut avoir un tableau global avec le montant de toutes les pièces (en centimes par exemple)
tab_valeur[1]=5
tab_valeur[2]=10
tab_valeur[3]=20 etc ....
fonction NBFAC(montant, nb_type) retourne le nombre {
/* première chose en récursivité, les critères d'arrêt, j'en vois trois pour simplifier le reste */
si (nb_type <= 0) retourne 0;
si (montant < tab_valeur[nb_type] ) retourne 0; /* car impossible */
si (montant == tab_valeur[nb_type]) retourne 1; /* un seul cas possible */
/* deuxième chose, la récursivité proprement dite */
retourne NBFAC(montant - tab_valeur[nb_type], nb_type) + NBFAC(montant, nb_type - 1);
} /* fin de la fonction */
C'est peut-être pas top mais je pense que ça doit fonctioner, à tester.
Bonne chance.