begin process at 2010 02 10 00:44:39
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Delphi

 > 

Algorithme

 > 

Autre

 > 

Trier une pile de feuille de papier numéroté, un algorithme???


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Trier une pile de feuille de papier numéroté, un algorithme???

jeudi 30 octobre 2008 à 04:59:25 | Trier une pile de feuille de papier numéroté, un algorithme???

abcdef70

Bonjour.

Je fabrique présentement un robot qui doit trier une pile de feuille de papier numéroté.

Il y a une pile de 500 feuilles devant le robot, chaque feuille étant numéroté de 1 à 500. Ces feuilles ne sont pas dans l'ordre.

Le robot peut lire les chiffres sur les feuilles. Il peut créer jusqu'à environ 3 piles de papier cote à cote près de lui (maximum 5 faute d'espace sur la table), pour se donner des espaces temporaire afin d'effectuer son tri. Le robot ne peut insérer une feuille entre deux autres, il peut uniquement la placer sur le dessus d'une des pile. Un peu sur le principe des tours de Hanoi.

voir:    http://javaboy.free.fr/tourdehanoi/index.htm

Au contraire des tours de Hanoi, un chiffre plus grand peut être placer sur un plus petit si besoin durant le tri.

La pile de feuilles finale doit-être trier de 1 à 500.

J'essais de trouver un algorithme de tri efficace pour automatiser mon robot.
Je peux utiliser des listes en mémoires pour m'aider dans mon travail, des variables, etc, la seule restriction est la porter du bras du robot qui peut s'étendre jusqu'à un maximum de 5 piles (moin de piles est encore mieux car moin de long déplacement). Bien entendu le bras du robot doit se promène d'une pile de feuilles à l'autre et c'est surtout à ce niveau que je suis pénalisé. Si le robot prend par exemple 2 ou 3 secondes pour prendre, déplacer et déposer la feuille sur une autre feuille, et qu'il doit effectuer 100 000 déplacements, 4 jours et il aura à peine terminé.

Avez-vous des suggestions sur quel algorythm ou quel facon je devrais procédé pour faire le tri?

Merci beaucoup.
Michel
vendredi 7 novembre 2008 à 23:41:24 | Re : Trier une pile de feuille de papier numéroté, un algorithme???

JulioDelphi

Membre Club Administrateur CodeS-SourceS
Salut,
Je te propose 3 piles :
pile 1 : les 500 feuilles
pile 2 : pile de passage
pile 3 : pile finale dan l'ordre

X:=1;
index:=Nombre de pages à trier.

0) le robot est devant la pile 1.
1) le robot regarde la premiere feuille de cette pile, si c'est la n°index, il la pose dans la pile 3 et décrémente index de 1 sinon il la pose en pile 2.
2) le robot vérifie si il y a encore des feuilles dans la pile 1, si oui, voir (1), si non il se tourne vers la pile 2 puis voir (3)
3) le robot vérifie si il y a encore des feuilles dans la pile 2, si oui, voir (1), si non il se tourne vers la pile 1 puis voir (1)
4) si index = 0 alors la pile 3 est en ordre.

Tu auras de 500 à 125250 mouvements maximum pour 500 pages il me semble.
samedi 8 novembre 2008 à 13:18:57 | Re : Trier une pile de feuille de papier numéroté, un algorithme???

Kenavo

Salut,

On doit pouvoir améliorer en mémorisant l'ordre des feuilles au fur et à mesure, ce qui permet, à chaque feuille trouvée de savoir si la suivante est dans la pile 1 ou la pile 2.
 
Sachant que dans le pire des cas, ça n'améliorera pas la vitesse .....
Le pire des cas : les feuilles sont dans l'ordre suivant : 499,497,495,493,..........494,496,498,500

... et 125250 mouvements, à 1 mouvement par seconde, ça fait presque 35 heures

Ken@vo

Code, Code, Codec !



Cette discussion est classée dans : feuilles, feuille, trier, robot, pile


Répondre à ce message

Sujets en rapport avec ce message

suppression d'une feuille de calcul! [ par othland ] en créant un document excel avec la technique OLE, je manipule un document qui contient 3 feuilles de calcul.or moi, je n'en ai besoin que de 2 feuill Macro VBA : affichage ds une feuilles les sommescalculées sur une liste variable existante ds une autre feuilles [ par lallamimouna ] Bonjour,Je suis débutante en Macro execl et j'ai besoin d'aide!!!je vous explique mon Pb:J'ai ds un classeur exel  deux feuilles: -   Feuilles info( c Empecher la fermeture d'un feuille Excel [ par H60 ] Bonjour à tous, Mon appli pilote Excel après creation par OLE (FeuilleExcel := CreateOleObject'Excel.Application')); Elle cree les feuilles,met les liaison dynamique entres les feuilles dans excel 2003 [ par 61bentahar ] bonjour .je voudrais des renseignement ;et des explication plus ou moins clair sur les liaison dynamiques entre les feuilles excel(excel 2003) et nombre de feuilles présentes dans un classeur EXCEL [ par Mag79 ] Bonsoir a touse [^^!2]je cherche a realiser un petit prog qui me permet de savoir le nombre et le/les nom(s) de Feuille qui se trouve dans un classeur trier un fichier texte [ par fox37 ] bonjourvoici un sujet qui s'approche de certains que j'ais deja pus lire .J'ais un fichier txt avec des valeurs separe par des ";"A chaques fin de lig Impression Excel via Delphi [ par wisdeco81 ] Bonjour,   Je voudrais lancer l'impression d'une feuille excel directement depuis Delphi.  Tout ce que j'ai réussi a faire pour l'instant c'est import OLE2 et Excel [ par sylvunix ] Bonjour à tous,J'essaie de charger dans un TOleContainer un feuille Excel lue depuis un fichier, de modifier cette feuille, de la sauvegarder puis de Code pour Composant composite [ par Paounet ] Je ne sais si cela est possible car cela fait un moment que je cherche et ce sans résultat positif.Quel code écrire dans mon composant composite type Acess violation At Adress in module [ par Paounet ] Apres creation de mon composant TGetPassword qui fonctionne.. j'ai créé une feuille principale Form1 (Unit1) qui utilise la 2ème feuille Modale Form2


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,343 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales