Aller au contenu

Rechercher dans la communauté

Affichage des résultats pour « challenge » dans sujets.

  • Rechercher par étiquettes

    Saisir les étiquettes en les séparant par une virgule.
  • Rechercher par auteur

Type du contenu


Forums

  • Fonctionnement de ce site
    • Nouvelle règle pour les invités : plus d'écriture possible sans inscription
    • CADxp, comment ça marche?
    • CADxp, vos souhaits
    • Forum test
  • Emploi
    • Emploi, monde du travail
  • AutoCAD
    • AutoCAD 3D
    • AutoCAD 2020-2024
    • AutoCAD LT 2024
    • AutoCAD LT 2020-2023
    • AutoCAD 2019
    • AutoCAD LT 2019
    • AutoCAD 2018
    • AutoCAD LT 2018
    • AutoCAD 2017
    • AutoCAD LT 2017
    • AutoCAD avant 2017
    • AutoCAD LT avant 2017
    • Tutoriaux AutoCAD
    • AutoCAD, liste de souhaits
  • Autres logiciels de CAO
    • Microstation
    • IntelliPlus, IntelliCAD, CadIdesk
    • ZWCAD
  • Architecture, Bâtiment
    • Revit
    • AutoCAD Architecture
    • AutoCAD MEP
    • BIM
  • Mécanique
    • Inventor
    • SolidWorks
    • Creo (ex. Pro/Engineer)
    • Catia
  • SIG, Génie civil, Cartographie, VRD
    • Autodesk Map
    • VRD
    • Covadis
    • Infraworks 360
    • Mensura
    • AutoCAD Civil
    • Autopiste
    • SIG internet
  • Imagerie, animation, PAO, modélisation 3D
    • 3DSMAX
    • Création et retouche d'images
    • Sketchup
    • Autres logiciels d'infographie
    • Lumion 3D
  • Programmation
    • LISP et Visual LISP
    • VBA et VB
    • Personnalisation, macros, DIESEL
    • ObjectARX/DBX, C++, .NET, RealDWG
    • Programmer en s'amusant
    • Suggestions de développements
  • Trucs et astuces
    • AutoCAD trucs et astuces
    • Windows trucs et astuces
  • Matériel CAO
    • Ordinateurs
    • Périphériques d'entrée
    • Périphériques de sortie, impression
  • Divers
    • CAO, généralités
    • Echanges de fichiers
    • Organisation du travail
    • Visualisateurs, annotation
    • Pause café
    • Bibliothèques de composants
    • Formation
  • Logiciels connexes
    • Devis, métré, estimation, quantitatif
    • Calculs et simulation
  • Forums métier
    • Bâtiment
    • Infrastructures

Calendriers

Il n’y a aucun résultat à afficher.

Blogs

Il n’y a aucun résultat à afficher.


Rechercher les résultats dans…

Rechercher les résultats qui contiennent…


Date de création

  • Début

    Fin


Dernière mise à jour

  • Début

    Fin


Filtrer par nombre de…

Inscription

  • Début

    Fin


Groupe


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests

  1. Vous avez effectivement raison, je n'airais pas dû lancer le challenge avec pour une des priorité, le nombre de ligne, mais sur le nombre de Fonctions/Commandes, voir même le nombre de caractères. Le nombre de Fonctions/Commandes nécessite une grande connaissance de l'outil, et le nombre de caractères dépend de cette connaissance mais aussi de sa structure... Donc, et j'en suis conscients maintenant, Fonctions/Commandes reste le meilleur choix, comme l'a plusieurs fois suggérer Maître (gile). j'avais eu juste une petite idée et je me suis dis : Tiens, fais-en un "Programmer pour s'amuser", car c'est très lucratif et représente beaucoup d'enthousiasme de la part de mes "collègues" CadXpiens"... Mais dans mon idée, j'étais plus porté sur le Lisp ou le V-Lisp... (que je connais un peu...).
  2. Une autre en Python qui utilise les compréhensions de liste : def challenge(s): return ''.join([i for sub in reversed([s[i:i + 2] for i in range(0, len(s), 2)]) for i in sub])
  3. Et surtout si on prend en compte que x lignes (voir des millions) de lisp soient interprétées comme une seule... On est d'accord, le nombre de ligne n'est qu'une formalité pour mieux l'appréhender... Mais c'était le challenge, je remarque que vous êtes à 8 lignes en Lisp et 3 en F#... Le Lisp serait-t-il à la traine ? ? ? J'en doute... Allez, Maître Gilles, explique-nous... Mais je n'ai pas testé la validité des codes... Je n'en ai pas la possibilité... J'étais persuadé qu'un maître m'aurait pondu un code en deux ou trois lignes, et en Lisp... Je suis sur le cul... Ce challenge serait-il "balaise" ?
  4. Ce matin quand j'ai vu ce sujet, je me suis dit : "Super, un challenge en LISP, ça faisait longtemps." Qui dit LISP dit liste, qui dit concision dit recursion. Mon premier jet est donc une fonction qui utilise la chaîne sous forme de liste de caractères (codes ascii) de manière récursive. (defun jeu (s / f) (defun f (l) (if (cdr l) (vl-list* (cadr l) (car l) (f (cddr l))) ) ) (vl-list->string (f (reverse (vl-string->list s)))) ) Mais, comme l'a dit VDH-Bruno : 1. inverser les caractères 2. les grouper par paires 3. inverser les caractères de chaque paire est équivalent à : 1. grouper les caractères par paires 2. inverser la liste des paires Ni une ni deux, je modifie le code et l'utilisation d'un accumulateur dans la fonction récursive permet d'éviter le reverse. Le code F# de la réponse #10 est équivalente. (defun jeu1 (s / f) (defun f (l a) (if (cdr l) (f (cddr l) (vl-list* (car l) (cadr l) a)) a ) ) (vl-list->string (f (vl-string->list s) nil)) ) L'équivalent en style impératif (avec itération) est un peu moins concis (à peine à cause de l'utilisation d'une fonction auxiliaire. (defun jeu2 (s / l r) (setq l (vl-string->list s)) (while (cdr l) (setq r (vl-list* (car l) (cadr l) r) l (cddr l) ) ) (vl-list->string r) ) Cherchant toujours plus de concision, j'ai pensé aux opérateurs F# qui permettent de traiter les chaînes et sous-chaînes directement comme des collections de caractères ce qui donnera la le code de la réponse #21. L'équivalent en LISP ne fait pas gagner grand chose en terme de concision et devrait être moins efficient (LISP est meilleur avec les liste qu'avec les chaînes). (defun jeu3 (str / f) (defun f (s r) (if (< 1 (strlen s)) (f (substr s 3) (strcat (substr s 1 2) r)) r ) ) (f str "") ) Et l'équivalent avec while. (defun jeu4 (s / r) (setq r "") (while (< 1 (strlen s)) (setq r (strcat (substr s 1 2) r) s (substr s 3) ) ) r ) Voilà, un grand bravo à VDH-Bruno ! Je suis resté bloqué sur une fonction auxiliaire inutile si on traite directement la chaîne. Je ne peux que le parodier en F# pour être à peine plus concis. let rec f s = if s = "" then s else f s.[2 ..] + s.[.. 1] PS: le nombre de lignes de code n'est pas un critère fiable de concision, il dépend de la façon dont le code est formaté.
  5. DenisHen

    test

    Maître (gile), tu ne jouerais pas perso, là ? Comme pour ne pas répondre à ma proposition de challenge ? ? Hein ? Vilain ! ! ! :angry:
  6. VDH-Bruno

    test

    Salut (gile) Quant je suis passé il n'y avait que les 2 premières, j'ai pas vu que tu en avais rajouté, j'aurais du joué le jeu... Sans regret ce genre de challenge tombe toujours lorsque l'on est charrette c'est la loi de Murphy Amicalement Bruno
  7. Je confirme public class Challenge { public static void main(String[] args){ System.out.print(chal("5637159071856346")); } public static String chal( String txt){ String ret = ""; while (1 < txt.length()) { ret = txt.substring(0, 2) + ret; txt = txt.substring(2); } return ret; } } run: 4663857190153756BUILD SUCCESSFUL (total time: 0 seconds)
  8. Un exemple en C# (ça devrait ressembler à du Java) string Challenge(string source) { string result = ""; while (1 < source.Length) { result = source.Substring(0, 2) + result; source = source.Substring(2); } return result; }
  9. Voilà ! ! ! Merci Maître (gile), du java maintenant ! ! ! Non, je déconne, c'est vraiment curieux le java, et ça m'intéresse... Mais on ne peut pas dire qu'il économise les lignes de codes... Bien que, on est d'accord, le Lisp n'est, en fait, qu'une seule ligne de code... Mais merci Fraid de participer... Et tu as bien relevé le challenge... Bravo...
  10. Non, bien sûr (gile), je ne m'attends pas à un surprenant engouement suite à un coup de baguette magique de la part d'autrui, bien que ce forum regorge de personnes investies et de bonne fois, l'entente de ce forum, et tu en conviendras, est très sympathique, empathique, sans attente de retour (altruisme, es-tu là ?), et presque amical (je m'en suis aperçu lors du malheureux décès anonyme d'un des nôtres, j'ai été très triste, et je n'étais pas le seul...). Mais je n'ai plus de "lien" avec le AutoCAD et le Lisp en ce moment et depuis quelques années (je travaille sur un autre logiciel, MIAO de AllSystems), mais je viens toujours faire un tour sur CadXP, nostalgie, quand tu nous tiens... Je vais donc agrandir le cercle du développement de "mon" challenge à toutes formes de langage... Tu as, encore une fois, raison... ;) Je vais de ce pas changer mon premier post... Merci à toi... Denis...
  11. (gile), si c'est une idée pour augmenter le jeu, je suis preneur... Désires-tu que je change les langages du challenge ? je n'y vois rien à redire pour ma part... ;)
  12. Désolé... Mais tu peux lancer ce challenge en VBA...
  13. Salut Curlygoth. Non, désolé, pas de VBA, et pour l'itération ou la boucle, c'est toi qui vois, il faut un minimum de ligne de code... C'est le challenge. ;)
  14. (gile)

    test

    (defun jeu1 (s / f) (defun f (l a) (if (cdr l) (f (cddr l) (vl-list* (car l) (cadr l) a)) a ) ) (vl-list->string (f (vl-string->list s) nil)) ) (defun jeu2 (s / l r) (setq l (vl-string->list s)) (while (cdr l) (setq r (vl-list* (car l) (cadr l) r) l (cddr l) ) ) (vl-list->string r) ) (defun jeu3 (str / f) (defun f (s r) (if (< 1 (strlen s)) (f (substr s 3) (strcat (substr s 1 2) r)) r ) ) (f str "") ) (defun jeu4 (s / r) (setq r "") (while (< 1 (strlen s)) (setq r (strcat (substr s 1 2) r) s (substr s 3) ) ) r ) Pour ce challenge : (defun vlax-curve-getPolylineCoordinates (pl / i pts) (repeat (setq i (if (vlax-curve-isClosed pl) (fix (vlax-curve-getEndParam pl)) (1+ (fix (vlax-curve-getEndParam pl))) ) ) (setq pts (cons (vlax-curve-getPointAtParam pl (setq i (1- i))) pts)) ) )
  15. Salut à tous. Je propose un petit jeu, mais en Lisp et/ou en VLisp et sans mélanger les deux. Mais si vous êtes en mesure de proposer d'autres langages, libre à vous, faites-nous voir vos connaissances... ;) Avec le moins de lignes possible, faire ceci : 1.La base est une chaine contenant un nombre à 16 chiffres (ex : "5637159071856346"), 2.Passer par l'étape d'inversion de ce contenu (ex : "6436581709517365"), en fait il faut lire la chaine depuis la fin, 3.Puis, permuter les paires 2 à 2 (ex : "46638571901537765"), on inverse les chiffres 2 par 2, 64 devient 46, 36 devient 63... C'est parti... ;) Denis...
  16. Bonjour, Je me lance dans différents "challenge" pour la programmation de modules sur autocad (en VBA car je sais que vous n'aimez pas ça XD). J'ai réussi à calculer les longueurs de certains réseaux dans un polygone, et extraire les longueurs qui sont à l’intérieur dans un tableur (oui un peu comme pour les IC-OL)... Mais, il m'arrive parfois de travailler sur des dessin dwg très (trop) grand et plûtot que de mettre en reference mes fonds de plan et de les délimiter (rassurez vous c'est ce que je fais mais bon là : c'est pour le jeu). Les règles : Créer une forme : Tous les objets en contact avec cette polyligne seront coupées ! Tout ce qui est à l'extérieur de cette forme sera effacer ! Avancement : 1°) Détecter les objets dans une polyligne 2°) Couper les intersections 3°) Supprimer les objets à l'exterieur 4°) PRET ! 5°) J'ai aperçu un petit problème ! vous pouvez le télécharger pour voir où est le bug si le coeur vous en dit ! A appeler : SUPP_EXT_FEN.dvb!SUPP_EXT_FEN.SUPP_EXT_FEN SUPP_EXT_FEN.zip
  17. Hello Franchement cela va être un challenge très difficile ! LA SANTE, Bye, lecrabe ... Retraite J27 ...
  18. Bonjour la communauté! ;) Je suis à la recherche d’un coéquipier! PROJETEUR BUREAU D'ETUDES ELECTRICITE CFO-CFA POSTE A POURVOIR RAPIDEMENT- CDI - MOUANS SARTOUX (06) Vous intégrez une entreprise spécialisée dans l’électricité secteur Industriel et tertiaire, rayonnant en région PACA, filiale d’un grand groupe du BTP. Rattaché au responsable du bureau d'études, et en lien avec les chargés d'affaires et conducteurs de travaux, vous aurez en charge les études d’exécution des opérations qui vous seront confiées. Vous savez appréhender un cahier des charges et intégrer les contraintes normatives et réglementaires d’un projet. Vous êtes capable de participer, voire d’animer un réunion de synthèse. Au quotidien, vous aurez à réaliser les relevés sur sites, concevoir les plans d'implantation, schémas unifilaires et multifilaires, réaliser les notes de calculs de câbles et protections, définir et spécifier les matériels électriques à mettre en œuvre, proposer des solutions techniques économiques. Vous avez une expérience de 3 ans minimum sur un poste similaire (domaine électricité BT courants forts/faibles) avec une connaissance idéalement dans l'automatisme, la HTA, industrie et/ou tertiaire. Vous avez une bonne connaissance technique des normes C15-100, C15-211, C14-100, C13-100, C13-200, C17-100, C17-200, règlement ERP, NFS etc... Vous maitrisez AUTOCAD, CANECO BT et Dialux. SEE ELECTRICAL, REVIT et CANECO EP serait un plus. Vous avez le sens de l'engagement et le goût du challenge, rejoignez une équipe dynamique dans un espace de travail privilégié. Horaires flexibles en journée du lundi au vendredi. Le boss est super cool :D :D Rémunération selon profil et expérience + avantages. https://fes-career.talent-soft.com/offre-de-emploi/emploi-projeteur-electricite-tertiaire-_368.aspx Adressez-moi un CV avec vos prétentions, j'étudie toutes les candidatures, et encore plus celles qui viennent du Forum. l.raillard@satelec.fayat.com
  19. Bonjour, je relance la discussion sur le triangle impossible, sous la forme d'un challenge à réaliser avec le logiciel Fusion 360 (disponible depuis peu en français).
  20. Coucou ce sujet a été résolu par des "grands" de la programmation, je ne suis pas certain que débuter avec ce genre de challenge soit une vraie bonne idée un exemple de liste contenant des listes, pas le meilleur exemple mais un exemple : (setq a '( 10 20 30 40)) (setq nom "contour1") (cons (list (list a nom)) (list (list a nom))) renvoie ((((10 20 30 40) "contour1")) ((10 20 30 40) "contour1"))
  21. Coucou Il est possible que tu sois irrité, sache que ce n'est pas une volonté de nuire ou de se moquer L'important c'est la progression régulière Est-ce que ton souci est résolu ? Si oui -> passons au prochain challenge Si non -> reviens poser des questions pour qu'on te guide. Amicalement
  22. Hello à tous !!!! Voila je me présente, Jérémy, 26 ans dessinateur en menuiserie aluminium / Façade et Métallerie / Serrurerie. J'ai le projet de devenir dessinateur indépendant d'ici 1 ans / 1 ans et demie et je voulais avoir votre avis la dessus. J'ai 4 ans d'expérience dans une entreprise de métallerie et 1 ans dans une société de menuiserie aluminium / façade. Je doit admettre que j'ai de plus en plus de mal de travailler dans un bureau d'étude dans une entreprise : Toujours critiqué, toujours des bons à rien (travail super facile soit disant), peux de reconnaissance de la part de la direction etc etc ... Actuellement je touche 2500€ Brut ce qui donne environs 1900€ net avec la prise en charge de la mutuelle. J'aimerai devenir mon propre patron afin de travailler pour moi et non pour quelqu'un d'autre, c'est un challenge qui me motivent bien (chercher des clients, dessiner etc etc...). En sachant que je sais que si je démissionne avec ce type de projet je peux toucher le chômage. Je resterai encore je pense une bonne année dans mon entreprise actuelle pour acquérir un max de connaissance. J'aimerai avoir des avis de personne qui se sont lancé comme j'aimerai le faire. Est-ce difficile ? Bonne idée ? Cordialement. Jérémy !
  23. Même si je trouve curieux de trier une liste avec des formats différents, le challenge est intéressant. Une version polyvalente : (defun sort-list (lst fun ignoreCase) (mapcar '(lambda (i) (nth i lst)) (vl-sort-i (mapcar '(lambda (s / m) (if (setq m (RegExpExecute s "(^.+\\D)?(\\d+$)" nil nil)) (cond ((caddar m)) ; "A1" -> ("A" "1") (T (list "" (caar m))) ; "12" -> ("" "12") ) (list s "") ; "AB" -> ("AB" "") ) ) (if ignoreCase (mapcar 'strcase lst) lst ) ) '(lambda (a B) (if (= (car a) (car B)) (apply fun (list (atoi (cadr a)) (atoi (cadr B)))) (apply fun (list (car a) (car B))) ) ) ) ) ) Exemple : _$ (setq lst '("0_M8" "12" "A" "0_M12" "bar" "85" "2" "0_M6" "foo" "P")) ("0_M8" "12" "A" "0_M12" "bar" "85" "2" "0_M6" "foo" "P") _$ (sort-list lst '< T) ("2" "12" "85" "0_M6" "0_M8" "0_M12" "A" "bar" "foo" "P") _$ (sort-list lst '> nil) ("foo" "bar" "P" "A" "0_M12" "0_M8" "0_M6" "85" "12" "2")
  24. VDH-Bruno

    ???

    Re, Même si l’intérêt de tout ceci n’est pas fondamental, j’espérais réussir à enrichir un peu ce fil.. Mais par manque de disponibilité, je ne pense pas développer plus ma réponse, malgré tout je propose en vrac quelques réflexions que je m’étais déjà fait sur cette question: Parfois la possibilité de définir des fonctions sous forme de liste autre qu’avec defun, defun-q et lambda permet de façon ludique, d’écrire un code plus concis (et pas que plus crypté). A titre d’exemple la revisite d’un ancien challenge, sur TheSwamp où des solutions pour porter la fonction let dans AutoLISP sont proposées. Code que l’on pourrait facilement réécrire comme ceci (defun let (bindings body) (apply '(list (mapcar 'car bindings) body) (mapcar 'cadr bindings))) _$ (let '((x 3) (y 10)) '(+ x 10 (* x y))) 43 On peut noter la possibilité d’étendre la fonction vl-propagate aux fonctions, en les définissant en setq. _$ (vl-propagate 'let) ;Fonction définie avec defun ou defun-q ; erreur: Visual LISP: Objet d'importation/exportation entre documents non conforme #<USUBR @14c23d48 LET> _$ (setq let '((bindings body) (apply '(list (mapcar 'car bindings) body) (mapcar 'cadr bindings)))) ((BINDINGS BODY) (APPLY (QUOTE (LIST (MAPCAR (QUOTE CAR) BINDINGS) BODY)) (MAPCAR (QUOTE CADR) BINDINGS))) _$ (vl-propagate 'let) ((BINDINGS BODY) (APPLY (QUOTE (LIST (MAPCAR (QUOTE CAR) BINDINGS) BODY)) (MAPCAR (QUOTE CADR) BINDINGS))) A+
  25. Invité

    Vous prétendez connaitre Revit?

    L'idée de faire un challenge sur un bloc paramétrique sur AutoCAD est dans l'air, mais peut être pas avec ce bloc.
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité