begin process at 2012 02 09 23:08:52
  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 une table MyBase [ par Christophe67 ] Bonjour à tous, Existe il un moyen de trier une table MyBase, par exemple par ordre alphabétique pour un champ "NOM", de façon automatique à partir d parcourir toutes les feuilles d'un fichier excel [ par nabil351974 ] bonjour à tous et à tous, je me demandais comment ajouter le même titre à toutes les feuilles d'un fichier excel en tenant compte qu'on ignore le nom dupliquer une feuille excel [ par pratrick ] messieur Bonjour je cherche à dupliquer une feuille excel j'ai essayé [code=pas]OleApplication.ActiveWorkbook.Worksheets[2].Add[/code] et [code=pa excell et delphi [ par sharifcrd ] sharif Salut qql aurait il l'idée 1- comment extraire des donnees à partir d'une feuille excell 2- comment envoyer des donnees vers une feuille excell Feuille MDI child, systemMenu-Restaurer, non respect de contraints.maxwidth [ par jderf ] Bonjour, Ma feuille principale, deux splitter qui borne l'espace de création des feuilles filles. Les feuilles filles ont comme paramètres cela : a


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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 : 2,044 sec (4)

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