cs_ATitus
Messages postés32Date d'inscriptionsamedi 8 mai 2004StatutMembreDernière intervention 9 février 2010 29 déc. 2008 à 12:09
Bonjour.
Je en suis pas tres calé en Delphi, mais le code est rapide et surtout instructif.
=
Les petits plus qui pourraient etre ajouté au programme.
Je pense qu'une option par "click" qui masquerait l'affichage serait bien.
Le nombre de combinaisons pouvant devenir "enorme", ne faudrait'il pas afficher avant le calcul ce nombre et la taille du fichier resultant.
Une jauge de progression, si cela ne freine pas trop le programme.
La possiblité d'arreter le calcul en cour.
=
+
cs_cantador
Messages postés4720Date d'inscriptiondimanche 26 février 2006StatutModérateurDernière intervention31 juillet 202113 31 oct. 2008 à 12:13
Oui, tu as raison, ta méthode est plus rapide.
L'objectif ici n'était pas de faire de la vitesse
mais d'offrir une interface agréable afin de pouvoir saisir les numéros.
Mais maintenant, nous avons la rapidité en plus..
En tout cas bravo pour cette optimisation !
ludodelphi
Messages postés9Date d'inscriptionlundi 10 juillet 2006StatutMembreDernière intervention18 février 2009 31 oct. 2008 à 10:16
Le programme d'origine (dont j'ai gardé le prncipe) fonctionne en 2 temps :
- calcul des combin
- affichage des combin
Sur mon vieux PC, l'attente dépasse la minute pour le calcul des combin en 6 / 18. Le temps d'affichage prend aussi sa minute.
Avec ma modif, mon PC commence à afficher les solutions instantanément (pas besoin de chrono) jusqu'en 6/22. Je n'ai en revanche pas touché au temps d'affichage qui reste très long (pourquoi afficher ?)
Sans la modif, le PC marque plusieurs secondes d'attente dès 6/15 avant l'affichage.
Si on supprimait l'affichage (écriture dans un fichier), ma modif permet d'atteindre le 6/49 en temps raisonnable (<1h), chose impossible avec le programme d'origine.
Si tu fais une allocation mémoire globale de 14M x 6 octets, tu t'apercevra que tu peux remplir les combin 6 parmi 49 grilles en 8 secondes (sur mon vieux PC) Mais ne les affiche pas ;-)
Si tu veux je t'envoi une source en récursif (à peine plus lent mais plus compact) que tu pourras analyser.
cs_cantador
Messages postés4720Date d'inscriptiondimanche 26 février 2006StatutModérateurDernière intervention31 juillet 202113 30 oct. 2008 à 17:12
Plus vite, je ne suis pas sûr..
les combins de 6 parmi 15 sortent grosso modo dans le même temps que "Ma petite combine".
je n'ai toutefois pas chronométré..
il faudrait faire un test avec 6 parmi 22 pour être sûrs..
A toi de jouer et ne triche pas !
ludodelphi
Messages postés9Date d'inscriptionlundi 10 juillet 2006StatutMembreDernière intervention18 février 2009 30 oct. 2008 à 12:34
Désolé pour l'erreur sur l'auteur d la source original,
C'est cantador pour MA PETITE COMBINE dans la meme catégorie "Maths"
29 déc. 2008 à 12:09
Je en suis pas tres calé en Delphi, mais le code est rapide et surtout instructif.
=
Les petits plus qui pourraient etre ajouté au programme.
Je pense qu'une option par "click" qui masquerait l'affichage serait bien.
Le nombre de combinaisons pouvant devenir "enorme", ne faudrait'il pas afficher avant le calcul ce nombre et la taille du fichier resultant.
Une jauge de progression, si cela ne freine pas trop le programme.
La possiblité d'arreter le calcul en cour.
=
+
31 oct. 2008 à 12:13
L'objectif ici n'était pas de faire de la vitesse
mais d'offrir une interface agréable afin de pouvoir saisir les numéros.
Mais maintenant, nous avons la rapidité en plus..
En tout cas bravo pour cette optimisation !
31 oct. 2008 à 10:16
- calcul des combin
- affichage des combin
Sur mon vieux PC, l'attente dépasse la minute pour le calcul des combin en 6 / 18. Le temps d'affichage prend aussi sa minute.
Avec ma modif, mon PC commence à afficher les solutions instantanément (pas besoin de chrono) jusqu'en 6/22. Je n'ai en revanche pas touché au temps d'affichage qui reste très long (pourquoi afficher ?)
Sans la modif, le PC marque plusieurs secondes d'attente dès 6/15 avant l'affichage.
Si on supprimait l'affichage (écriture dans un fichier), ma modif permet d'atteindre le 6/49 en temps raisonnable (<1h), chose impossible avec le programme d'origine.
Si tu fais une allocation mémoire globale de 14M x 6 octets, tu t'apercevra que tu peux remplir les combin 6 parmi 49 grilles en 8 secondes (sur mon vieux PC) Mais ne les affiche pas ;-)
Si tu veux je t'envoi une source en récursif (à peine plus lent mais plus compact) que tu pourras analyser.
30 oct. 2008 à 17:12
les combins de 6 parmi 15 sortent grosso modo dans le même temps que "Ma petite combine".
je n'ai toutefois pas chronométré..
il faudrait faire un test avec 6 parmi 22 pour être sûrs..
A toi de jouer et ne triche pas !
30 oct. 2008 à 12:34
C'est cantador pour MA PETITE COMBINE dans la meme catégorie "Maths"
++ Ludodelphi