Re : Algo Caisse de magasin
Ces forums sont actuellement fermés. Vous ne pouvez donc plus y poster de messages. Les sujets existants sont toutefois conservés pour historique.
Sujet en cours de lecture : Algo Caisse de magasin par | (Haut de page) |
Re : Algo Caisse de magasin
Tian
Envoyé le : 23/11/2004 à 7:49
Bonjour,
Afin d'eviter de dupliquer beaucoup de code comme ici, il vaut mieux utiliser des tableaux. Voici le pseudo-code commente (je ne connais pas les conventions de notations que vous utilisez car cela peut varier beaucoup)
J'ai presque fini un programme d'algo concernant une caisse de supermarché mais j'ai un petit probleme conçernant la monnaie à rendre. Je dois calculer celle-ci selon la disponibilité de la caisse.
tab_valeur := [100, 50, 20, 10, 5, 2, 1];
tab_caisse := [C, D, E, F, G, H, I]; // Ici ce sont les valeurs entrees par l'utilisateur
tab_monnaie := [0, 0, 0, 0, 0, 0, 0]; // La monnaie a rendre
nbr_element := 7 //Le nombre de valeurs differentes de monnaie, c'est a dire le nombre d'element dans chacun des tableaux precedents
index := 0; //L'index courant dans les tableaux
Monnaie:=SommeDonnee-MontantAchat;
while (index < nbr_element) and (Monnaie > 0) do
begin
valeur_courante := tab_valeur[index];
while (Monnaie >= valeur_courante) and (tab_caise[index] >= 1) do
begin
tab_caisse[index] := tab_caisse[index]-1; //suppression d'une unite de la valeur courante
Monnaie := Monnaie - valeur_courante; //suppression de la valeur courante de la somme a rendre
tab_monnaie[index] := tab_monnaie[index]+1; //incrémentation pour savoir le nombre d'element de la valeur courante a render
end;
index := index+1;
end;
Ca devrait fonctionner. Pour verifier que c'est le cas, le mieux serait de le coder dans un langage donne. Mais si ce n'est pas possible, il faut prendre un papier et simuler le comportement du programme en notant les differentes valeurs que prennent les variables (et surtout verifier les conditions d'arret des boucles).
Réponses...
Date serveur : 20/02/2012 à 1:56
Les heures sont affichées en GMT +1 (Heure d'hiver)
Les heures sont affichées en GMT +1 (Heure d'hiver)