Rechercher dans la communauté
Affichage des résultats pour « challenge » dans sujets.
502 résultats trouvés
-
Lili, La P3 c'est la piste 3 d'Orly dont la reconstruction totale a commencé fin juillet et sera rendu à l'exploitation civile le 2 décembre. C'est un gros chantier : 75 millions d'euros, 700 personnes de chez COLAS mobilisées pour réussir le challenge en 19 semaines. J'interviens en tant que contrôle externe pour ADP afin de vérifier toute la géométrie (pente/altimétrie/épaisseur) de chaque couche + tous les marquages et toutes les implantations de luminaire de balisage... Ça fait un peu de boulot quand même. Olivier
-
Hachure avec couleurs differentes
lecrabe a répondu à un(e) sujet de Cyrchap dans LISP et Visual LISP
Hello DONC si maximum 6 contours voisins d'un quelconque contour alors il te faut 7 couleurs !? As tu une idee de ce nombre fatidique ?? Cela me parait etre un challenge interessant pour Gilles / Bruno / Patrick et autres "PROs" de la programmation !? Cela a peut etre ete deja publie sur TheSwamp !? Bye, lecrabe -
Creer un Arc tangent à deux Elements et qui passe par un point donne
(gile) a répondu à un(e) sujet de lecrabe dans Routines LISP
Revenons à nos moutons. Tout d'abord un grand bravo à ceux qui s'accrochent en LISP. Je pense que challenge est difficile mais très intéressant. De mon côté j'ai un peu avancé, ça fonctionne désormais avec les droites, les demi-droites, les lignes et les segments droits de polyligne (toujours dans le plan XY du SCG). J'ai aussi essayé de rendre le code plus robuste pour pouvoir gérer tout éventualité et préparer le terrain pour les arcs (même s'il n'est pas sûr que je le fasse). Plutôt que de déterminer l'arc généré en fonction des points de sélection des segments (comme semble le faire Microstation) j'ai préféré proposer la possibilité de parcourir les différentes solutions (uniquement 2 pour les segments droits) en validant l'option par défaut : "arc Suivant". Pour ceux qui veulent tester, télécharger et installer ArcExtensionSetup.msi. (Nouvelle version compatible avec AutoCAD 2025+) -
Creer un Arc tangent à deux Elements et qui passe par un point donne
didier a répondu à un(e) sujet de lecrabe dans Routines LISP
Coucou Je suis parti dans les mêmes directions que Zebulon_ Je n'ai pas encore terminé mais je viendrai proposer ma solution terminée Merci du challenge, merci du partage Ça m'a donné l'idée de faire un menu spécifique aux "arcs" sur da-code.fr car il y a de la matière à creuser... Amicalement -
Challenge récursive.
VDH-Bruno a répondu à un(e) sujet de Patrick_35 dans Pour aller plus loin en LISP
Bonjour, Sur ce challenge la porte du récursif ayant été verrouillé par les précédents intervenants. On peut s'autoriser une petite optimisation (si on est pas trop attaché au style) sur "la solution hors sujet" en économisant des parcours sur la liste du au 2ème member dans (member x (cdr (member x l))). vl-some comme mapcar étant des fonctions d'ordre supérieur, a l'appel de ces fonctions l'argument liste est chargé en mémoire, on peut donc à chaque itération "muter" son état dans la fonction argument en écrivant ceci: (defun doublon (l) (or (vl-some '(lambda (x) (member x (setq l (cdr l)))) l)) ) A+ Bruno -
Bonjour, Très rapidement, juste pour le plaisir de proposer une autre écriture récursive sur la façon de parcourir une arborescence, si on ne veut pas passer par des solutions écrites avec mapcar (très en retard sur le challenge, des versions sont déjà proposé par Patrick_35 & (gile)). (defun GetFolders (dir / directory files) (defun directory (dir) (cons dir (files (vl-remove "." (vl-remove ".." (vl-directory-files dir nil -1))))) ) (defun files (rep) (if rep (append (directory (strcat dir "\\" (car rep))) (files (cdr rep))) ) ) (directory dir) ) A+ Bruno
-
Merci, Gile, je commence à comprendre mon erreur, je vais refaire des essais en le plaçant différemment et peux etre 2 fois comme le cddr. Car si cette dernière fonctionne, c'est pour moi une pirouette (suis habitué :(rires forts): ). Dans le sens que c'est grâce au placement de l’élément dans la liste, mais pas grâce à son contenu. Si on ne voulais pas un dossier contenant temp par exemple, la on est pas bien... Je suis loin d’être un perfectionniste, mais ce genre de challenge sont de bon prétexte didactique. A plus tard pour une nouvelle version. (si je m'en sort, vais pas passé l'été la dessus non plus...)
-
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)) ) ) ) -
Hors challenge, dans l'esprit de ce qu'a donné bonuscad : (defun doublon (l) (or (vl-some '(lambda (x) (member x (cdr (member x l)))) l)) ) L'utilisation de (or ...) sert juste à renvoyer T au lieu de la première occurrence de (member x (cdr (member x l))). C'est uniquement pour respecter une règle du challenge, et ça serait inutile dans un autre cadre : pour les conditionnelles LISP tout ce qui n'est pas nil est considéré comme vrai.
-
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... :(
-
Salut, Pour faire suite à ce sujet qui fait suite à celui-là, je propose un challenge (assez) facile pour aborder la récursivité dans un cadre où elle est incontournable. Il s'agit simplement de définir une fonction qui retourne la liste des chemins de tous les dossiers et sous dossiers contenus dans un dossier (voir la fonction vl-directory-files). Choisir un dossier avec des sous-dossiers à différents niveaux d'imbrication. Avec cette arborescence : http://gilecad.azurewebsites.net/Resources/arborescence.png La fonction doit retourner cette liste : ( "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" ) Merci à ceux qui l'ont déjà fait (ou qui savent le faire) de laisser chercher les autres.
-
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.
-
Bonjour Pour faire suite à ce sujet, rien ne vaut un bon exercice. L'idée est de déterminer si j'ai un double dans une liste, et de manière récursive. (gile), comme tu es notre maitre à tous, tu as un handicap d'une journée ;) Exemples : (doublon '(1 2 3 4 5 6 7 8 9)) --> nil (doublon '(1 2 3 4 5 6 7 8 9 1)) --> T (doublon '(1 2 3 4 5 1 6 7 8 9)) --> T (doublon '((1 2) (2 3) (4 5) (6 7) (8 9))) --> nil (doublon '((1 2) (2 3) (4 5) (6 7) (8 9) (1 2))) --> T (doublon '((1 2 3) (2 3) (4 5) (6 7) (8 9) (1 2))) --> nil (doublon '((1 2 3) (2 3) (4 5) (6 7) (8 9) (1 2 3))) --> T @+
-
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
