Rechercher dans la communauté
Affichage des résultats pour « challenge » dans sujets.
502 résultats trouvés
-
Il me semble que de traiter le lecteur seul, est une exception hors challenge, puisque qu'il est question de dossiers. Mais c'est vrais que mon code n'est pas concis, et est une adaptation d'un code que j'utilise pour lister des fichiers, et pas des dossiers. Je remercie en passant Lee Mac, mon autre mentor.
-
Je pensais les avoir fait sautés avec (wcmatch x ".,.."), mais effectivement ils se sont rajouté à la fin des chemins. En fait la difficultés du challenge, c'est le point dans le nom des dossiers, qui fait qu'on ne peut pas utiliser le filtre "*.*" ... je regarde ta soluce tout à l'heure, merci
-
Je m'aperçois que ce challenge n'est pas si facile, alors je propose, dans un premier temps, de chercher à retourner une liste de sous-liste qui reflète l'arborescence. Exemple de résultat avec l'arborescence décrite plus haut : ("C:\\Temp\\dossier racine" ("C:\\Temp\\dossier racine\\Dossier 1" ("C:\\Temp\\dossier racine\\Dossier 1\\Sous dossier 1.1" ("C:\\Temp\\dossier racine\\Dossier 1\\Sous dossier 1.1\\Bidule") ("C:\\Temp\\dossier racine\\Dossier 1\\Sous dossier 1.1\\Truc" ("C:\\Temp\\dossier racine\\Dossier 1\\Sous dossier 1.1\\Truc\\Machin") ) ) ("C:\\Temp\\dossier racine\\Dossier 1\\Sous dossier 1.2") ) ("C:\\Temp\\dossier racine\\Dossier 2" ("C:\\Temp\\dossier racine\\Dossier 2\\Sous dossier 2.1") ("C:\\Temp\\dossier racine\\Dossier 2\\Sous dossier 2.2") ) )
-
Challenge récursive.
Patrick_35 a répondu à un(e) sujet de Patrick_35 dans Pour aller plus loin en LISP
Bonjour Bravo pour vos efforts :D @gégé Comme le dis (gile), tu as réussi et c'est le principal. Quelle satisfaction de réussir ce type de challenge car ce qui est énervant, c'est que l'on sent que la solution n'est pas loin, mais qu'on n'y arrive pas. On a beau essayer de passer à autre chose, mais quand ça trotte dans un coin de la tête ;) On peut aussi optimiser encore un peu (defun doublon (lst) (and lst (if (member (car lst) (cdr lst)) t (doublon (cdr lst)) ) ) ) @x_all Tu y es presque, ta fonction ne marche pas avec par exemple (doublon '(1 2 3 4 5 2 6 7 8 9 3)) @Fraid Encore un effort, et avec les exemples postés, cela peut t'orienter. Bien vu (gile) avec vl-some. j'ai fais une fonction proche de celle de Bonus, mais en récursif et moins bien que celle de gégé (defun doublon(lst / dbl) (defun dbl(lst) (if lst (cons (vl-position T (mapcar '(lambda(x) (equal (car lst) x)) (cdr lst))) (dbl (cdr lst))) ) ) (not (apply '= (dbl lst))) ) (defun doublon(lst / dbl) (defun dbl(lst) (if lst (cons (equal (length (vl-remove (car lst) lst)) (1- (length lst))) (dbl (cdr lst))) ) ) (not (apply '= (dbl lst))) ) @+ -
Challenge récursive.
GEGEMATIC a répondu à un(e) sujet de Patrick_35 dans Pour aller plus loin en LISP
Salut, Oui mais il était tard, il fallait que je rentre ! ci dessous un peu plus concis, mais j'utilise presque toujours le cond, comme ça je sais que je suis directement près à avoir plus de 2 éventualités. Souvent je programme des traitements dans l'urgence, sans avoir eu le temps de faire une analyse correcte, donc "cond" d'ailleurs, ce challenge, c'est plus une histoire d'analyse que de récursivité. (defun doublon (lst) (if (and lst (listp lst) ) (if (member (car lst) (cdr lst)) t (doublon (cdr lst)) ) ) ) -
Décidément, je bute, j'ai finis par regarder, je n’étais pas loin. et celle que je préfère pour sa concision est celle de Bonuscad. sinon hors challenge je pense que j'aurais fait cela. (defun doublon (lst) (if (/= (length lst) (length (remove-doubles lst))) T) ) (defun remove-doubles (lst);de Gile (if lst (cons (car lst) (remove-doubles (vl-remove (car lst) lst)))) ) hihihi
-
Merci à Patrick pour sa petite aspirine. Son exercice m'a délié (explore... j'ai eu droit à mon "sortie normale de Tex!" je vais pouvoir passer à la suite. Mais j'attends de tester un peu. Pour la petite l'histoire, c'était bien de bugs à la cons (il y en a un de dyslexique qui m'a donné du mal) Avec l'exercice de patrick, j'ai compris que le pas à pas marche très bien dans les fonctions récursives juste il faut que la grammaire soit irréprochable. Pour contourner le truc, (car mon orthographe n'est pas catastrophique que sur les forum) j'ai supprimé les appels de (explore a l'exécution, et tester la première branche en remplissant les champs dans le dessin pour passer les tests. je retiens la roulette de fonctions de l'arbre/branches/feuille très pédagogique. Mais si je fait un module de numérotation des blocs, j'aurai besoin d'un vrai parcours d'arbre, j'ai plutôt espoir du coté du challenge 2 la suite bientôt ici... merci pour la patience.
-
bah! le but n'est pas de résoudre le problème mais le challenge... malheureusement, journée chargée
-
Challenge récursive.
Patrick_35 a répondu à un(e) sujet de Patrick_35 dans Pour aller plus loin en LISP
Oui, mais cela ne m'empêche pas d'apprécier une autre manière de faire. Le challenge reste une récursive. @+ -
Challenge récursive.
GEGEMATIC a répondu à un(e) sujet de Patrick_35 dans Pour aller plus loin en LISP
Patrick, je comprends de moins en moins: pour moi ton challenge, c'est bien d'avoir une routine doublons qui s'appelle en récursivité ? -
Challenge récursive 2
Patrick_35 a répondu à un(e) sujet de (gile) dans Pour aller plus loin en LISP
C'est justement le but du challenge. Se triturer les méninges. Allez Denis, allez Denis, allez.... Allez Denis, allez Denis, allez.... @+ -
Salut (gile). La récursivité est encore de la science fiction pour moi... Même ta version "facile" du challenge de Patrick_35, ;) Le niveau est trop haut... Dommage... :(
-
Je pense que ce challenge est suffisamment facile pour que ceux-là se retiennent.
-
1+ avec Patrick_35 seul le traitement des structures de données récursives (typiquement les arborescences) nécessite un traitement récursif. Mais parfois la récursivité permet de résoudre simplement des problèmes complexes (fonction factorielle ou suite de Fibonacci pour les exemples les plus courant). Et il est des individus qui "pensent récursif" ou pour qui l'approche récursive récursive est plus immédiate que l'approche itérative. À ce propos, je pense que tu peux aussi mettre un handicap d'une journée à VDH-bruno. Pour plus coller au sujet qui a motivé ce challenge je vais en proposer un autre facile.
-
Delimitation (ou Detourage) des Fenetres (FMULT / VIEWPORT) - Routine SVP ?
lecrabe a répondu à un(e) sujet de lecrabe dans Routines LISP
Hello Un petit UP si jamais un PRO releve le Challenge !? Merci d'avance, Bonne Semaine, Bye, lecrabe -
Coucou Tu as tout à fait raison, je disais ça juste pour la taquinerie Perso je travaille aussi de cette façon, la première routine est basique Puis vient le goût de l'automatisme et du challenge Une de mes devises est quelque peu impérative (comme ma programmation) : Je me contente du maximum Amicalement
-
Delimitation (ou Detourage) des Fenetres (FMULT / VIEWPORT) - Routine SVP ?
lecrabe a répondu à un(e) sujet de lecrabe dans Routines LISP
Hello Fraid / Didier / Gilles / etc 1) Encore MERCI pour vos Efforts ! 2) J'ai l'impression d'avoir genere un sacre challenge avec ma demande qui me semblait SIMPLE !? Merci d'avance, Bye, Bonne Semaine, lecrabe -
Ok merci Ce sera un challenge pour moi.
-
Pour ceux qui lisent l'anglais, il y avait eu, sur TheSwamp, un challenge qui consistait, sur un fichier contenant 10000 points de relier entre eux par une ligne tous ceux qui étaient distants de 70 unités ou moins. Ce challenge m'avait montré l'importance de l'optimisation algorithmique par rapport à celle de code (while est-il plus rapide que foreach ? par exemple). Si on ne regarde que les implémentations en LISP (avec .NET ou ObjectARX/C++ il avait fallut assez vite passer à 100000 ou 1 million de points pour avoir des temps significatif), avec les premier jets, utilisant tous un algorithme naif commme celui décris ci-dessus, les temps d'exécution variaient entre 35 et 50 secondes suivant les optimisations des codes. Puis qjchen et ElpanovEvgeniy on commencé à optimiser les algorithmes d'abord en triant les points sur la coordonnées X, puis en X et Y et les temps d'exécutions sont descendus à 3 secondes puis 1.5 secondes pour finalement passer en dessous de la seconde.
-
comment avoir plusieurs programme dans un lisp?
VDH-Bruno a répondu à un(e) sujet de philsogood dans Débuter en LISP
Bonjour philsogood, Même si il n’y a rien à redire sur l’excellente explication de (gile), pour décortiquer ces lignes de codes une petite astuce consiste à substituer le defun par defun-q, cela te permet de définir les fonctions sous forme de liste. Et ainsi comprendre comment construire ta liste de définition en pas à pas. Pour obtenir la définition à construire dans la console Vlisp: _$ C:P8 (nil (COMMAND "_mline" "_j" "_z" "_st" "PVC" "_s" (DIAMSCALE 12))) A comparer avec la définition d’origine.. (defun-q c:p8 () (command "_mline" "_j" "_z" "_st" "PVC" "_s" (diamScale 12))) Ainsi tu visualise mieux que le nil symbolise l’absence d’arguments () dans la fonction définit en C: Pour des exemples commenté sur l’emploie de mapcar, il y eu un challenge sur son emploie ça peut aider. http://cadxp.com/topic/14868-challenge-special-debutants/ Sinon il y a toujours le post arguments et variables en entête du forum : http://cadxp.com/topic/28642-arguments-et-variables/page__view__findpost__p__156096 (Ps: Personnellement je pense que l’étude de ces lignes de codes apporte beaucoup dans la compréhension du Lisp.) Bon courage -
Décalage de polyligne - 2 valeurs différentes
bonuscad a répondu à un(e) sujet de La Lozère dans Débuter en LISP
Merci de vos felicitations, mais la routine bien que que pouvant être sastifaisante est loin d'être une Rools! Pour ma part j'ai déja observé dans certain cas, un effet papillon (d'un bord à l'autre) sur le dernier segment. Autre défaut; bien que censé fonctionner sur des entités dans des SCU particuliers, l'accroissement des segments peut être bizzare ou la routine se plante. Des effets papillons sur le même bord lors de sucession d'un arc et ligne avec un angle serré. (un algorithme a implanter..) Bref c'est loin d'être achevé! Si (gile) peut apporté des améliorations, ça sera volontier, car j'atteint mes limites d'analyse. Je me suis trouver confronter à un drôle de problème, cela concerne (atan (cadr deriv) (car deriv)), deriv étant le résultat de (vlax-curve-getFirstDeriv obj param) (angtos (atan (cadr deriv) (car deriv))) me retourne bien le bon angle, mais les valeurs négatives ou positive de (cadr deriv) et de (car deriv) m'ont bien gêner pour trouver l'orientement correct des tangentes aux sommets (j'avais des valeur à pi prés, gênant pour orienter comme il faut.) Ma surprise vient que si je manipule avec (angtos (atan)), je n'est plus de problème de signe, mais convertir pour faire des test de condition, ça devient lourd. Donc du coup je me suis rabattu sur un orientement vectoriel. Bref, complétement perdu le bonhomme! Donc si (gile) ou un autre, peuvent me pointer du doigt là où le mât blesse, c'est volontier... Le challenge continu. A nous tous, on en aura une plus grosse qu'AutoDesk! :(rires forts): -
Décalage de polyligne - 2 valeurs différentes
zebulon_ a répondu à un(e) sujet de La Lozère dans Débuter en LISP
je n'ai pas été assez précis dans mon commentaire : je voulais dire décaler chaque segment de façon progressive, pas juste un offset, et je rejoins ta vision des choses pour généraliser la routine, mais en essayant d'intégrer les parties courbes, ce qui ne sera pas une mince affaire. Mon idée : faire un décalage progressif de chaque segment, droit ou courbe, puis de raccorder chaque segment ainsi obtenu pour créer une nouvelle polyligne. Il n'est pas question ici de faire pipi plus loin qu'un autre. Chacun apporte sa pierre à l'édifice, en fonction de son temps, sa connaissance, son inspiration, son expérience, etc S'il y a un peu d'émulation, puisque quelqu'un a parlé de challenge, pourquoi pas ? De là à parler de "faire pipi plus loin", je trouve que c'est exagéré. Amicalement Vincent -
Connaitre toutes ses fonctionnalités est possible. Pour ce qui est de les utiliser toutes, là, je suis d'accord, ca serait un sacré challenge selon le temps accordé. B) Dans les années 2000 on pouvait acheter des bibles qui décrivaient jusqu'aux écritures de symboles personnalisés. Il faut toujours les acheter d'occase pour se faire une idée.
-
C'est vrai qu'on rencontre tellement d'"antiockham" qu'on se croit arrivé dans le monde des Shadocks. Eh oui, pourquoi faire simple quand on peut faire compliqué ? On se demande si ce n'est pas ça la philosophie dominante... On la désigne par "usine à gaz" ou par le néologisme "philosophie usinagazesque". De temps en temps, sur ce forum, on s'adonne à l'un ou l'autre challenge lisp. Bien souvent, il y a plusieurs solutions proposées qui mènent toutes au même résultat, mais c'est la plus simple qui est la plus élégante, voire la plus rapide. C'est Antoine de Saint-Exupéry qui écrivait dans Terre des Hommes la chose suivante : « Il semble que la perfection soit atteinte non quand il n'y a plus rien à ajouter, mais quand il n'y a plus rien à retrancher » C'est ce que dit celui qui tombe du 50ème étage avant de s'écraser sur le pavé ! Amicalement Vincent
-
challenge debutant seulement avec l\'aide de nos maitres....
lovecraft a répondu à un(e) sujet de lovecraft dans Débuter en LISP
ben voila j'ai fini une partie de ce challenge "mon challenge" puisque aucun aute debutant n'a participé. "je ne sais pas ce qu'il faut faire pour que d'autre peersonne puisse participer car il me semble que ce challenge etait a la hauteur de tout debutant. enfin bon Voici mon code: (defun sstext () (ssget "X" (list (cons 0 "*TEXT") (cons 8 "TEXTE_INDICE"))) ) ;************************************************************** (defun c:lstf () (setq jstext (sstext)) (setq listd nil) (setq i 0) (repeat (sslength jstext) (setq enttxt (ssname jstext i) bdenttxt (entget enttxt)) (setq listd (cons (atof(cdr(assoc 1 bdenttxt))) listd)) (setq i (+ 1 i)) );fin du repeat (setq listfin (vl-sort listd ' (setq fic (open "D:\\AUTOCAD CIVIL 2008 FICHIERS\\LISP\\new.txt" "w")) (setq k 0) (repeat (sslength jstext) (setq rfic (rtos (nth k listfin))) (write-line rfic fic) (setq k (+ 1 k)) );fin du repeat (close fic) );fin du defun PS: maintenant il me reste le plus dure de l'optimiser grave a vos commentaire que je vais reprendre et ceux à venir. Merci
