Rechercher dans la communauté
Affichage des résultats pour « challenge » dans sujets.
502 résultats trouvés
-
Petit challenge de manipulation de chaine
DenisHen a répondu à un(e) sujet de DenisHen dans Programmer en s'amusant
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...). -
Petit challenge de manipulation de chaine
(gile) a répondu à un(e) sujet de DenisHen dans Programmer en s'amusant
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]) -
Petit challenge de manipulation de chaine
DenisHen a répondu à un(e) sujet de DenisHen dans Programmer en s'amusant
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" ? -
Petit challenge de manipulation de chaine
(gile) a répondu à un(e) sujet de DenisHen dans Programmer en s'amusant
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é. -
Maître (gile), tu ne jouerais pas perso, là ? Comme pour ne pas répondre à ma proposition de challenge ? ? Hein ? Vilain ! ! ! :angry:
-
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
-
Petit challenge de manipulation de chaine
Fraid a répondu à un(e) sujet de DenisHen dans Programmer en s'amusant
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) -
Petit challenge de manipulation de chaine
(gile) a répondu à un(e) sujet de DenisHen dans Programmer en s'amusant
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; } -
Petit challenge de manipulation de chaine
DenisHen a répondu à un(e) sujet de DenisHen dans Programmer en s'amusant
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... -
Petit challenge de manipulation de chaine
DenisHen a répondu à un(e) sujet de DenisHen dans Programmer en s'amusant
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... -
Petit challenge de manipulation de chaine
DenisHen a répondu à un(e) sujet de DenisHen dans Programmer en s'amusant
(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... ;) -
Petit challenge de manipulation de chaine
DenisHen a répondu à un(e) sujet de DenisHen dans Programmer en s'amusant
Désolé... Mais tu peux lancer ce challenge en VBA... -
Petit challenge de manipulation de chaine
DenisHen a répondu à un(e) sujet de DenisHen dans Programmer en s'amusant
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. ;) -
(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)) ) )
-
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...
-
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
-
Equivalent AutoCAD MAP + BIM + ArcGIS + Covadis/Mensura
lecrabe a répondu à un(e) sujet de William44850 dans IntelliPlus, IntelliCAD, CadIdesk
Hello Franchement cela va être un challenge très difficile ! LA SANTE, Bye, lecrabe ... Retraite J27 ... -
RECRUTEMENT ! Projeteur ELECTRICITE CFO/CFA CDI
lucasaubureau a posté un sujet dans Emploi, monde du travail
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 -
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).
-
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"))
-
[RESOLU] Est -il possible de refaire une boucle avec tblnext?
didier a répondu à un(e) sujet de LElemurien dans Débuter en LISP
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 -
Création forum pour dessinateurs indépendants
jeremy69 a répondu à un sujet dans Emploi, monde du travail
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 ! -
vl-sort et liste de chaîne de caractères
(gile) a répondu à un(e) sujet de Luna dans Débuter en LISP
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") -
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+
-
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.
