Ce mois-ci, nouveauté ! Ce challenge LabVIEW est sponsorisé par le magazine Programmez. Le gagnant remportera un abonnement d'un an à Programmez au format PDF.
Voyons comment gagner :
Vous souhaitez ouvrir le cadenas de votre précieux casier mais ne vous ne vous rappelez plus du code. Étant donné que vous êtes un codeur astucieux, un moyen de le retrouver est de le recalculer avec un indice qui est indiqué sur le fameux verrou. Par exemple d’y apposer un chiffre au marqueur.
Pour dérouter les fraudeurs, on ne va pas forcément choisir de multiplier par 2 ce chiffre car ce serait trop simple. Nous allons plutôt choisir d'additionner tous les nombres qui sont multiples de deux nombres premiers 3 ou 5 et strictement inférieur au nombre indiqué sur le cadenas.
Par exemple : si le nombre écrit sur le cadenas est 14 alors « de tête » le code est 45 :
3 + 5 + 6 + 9 + 10 + 12
ou autre exemple pour l'indice 19 :
3 + 5 + 6 + 9 + 10 + 12 + 15 + 18 = 78
Pour des petites valeurs se sera facile, mais avec un petit code LabVIEW, ce sera plus aisé à retrouver. Je propose de créer un algorithme qui, à partir d’un entier, donne le résultat en sortie. Simple !
Envoyez votre code nommé Ch42_cadenas_votre pseudo_ici.vi à emmanuel.roset@ni.com avant le 31 mars. Et postez s’il vous plait sur la communauté un message « code envoyé » pour vérifier ma boite email en cas de non réception.
Le gagnant sera tiré au sort (avec un jeu de hasard) parmi les bonnes réponses avec un code fonctionnel.
Bon défi !
Pas de soucis, sur le code il n'y a que deux éléments. L'entrée "indice" et la sortie "code" en commande et indicateur numérique entier. Les nombres 3 et 5 sont fixes dans le code. Cela devrait être faisable en effet, mais cela dépend du niveau de chacun
L'idée est qu'il y ai de nombreux participants et que tout le monde puisse réfléchir !
Ok, ca marche. Alors code envoyé 🙂 Si d'autres personnes veulent/peuvent vérifier d'autres valeurs, pour 69 je trouve 1064 (en espérant que j'ai bon :D)
Bonne journée.
Code envoyé
Olivier L. | Certified LabVIEW Developer
Bonjour à tous,
Michael C., je ne trouve pas le même résultat ! Voici quelques uns de mes résultats
Indice | Code
20 | 93
40 | 413
69 | 1214
Je ne garantis pas non plus l'exactitude des résultats, j'ai codé ça vite, mais j'ai la correspondance 14 | 45.
Bonne chance !
Bonsoir, je viens de recevoir quelques codes avec des résultats différents, je dois donc préciser sur l'énoncé que l'on ajoute pas les valeurs identiques multiples de chaque nombre premier, par exemple 2 fois le 15. Soit par exemple pour l'indice 19, le résultat attendu est 3 + 5 + 6 + 9 + 10 + 12 + 15 + 18 = 78
Merci d'avoir soulevé l'incomplétude de l'exemple donné au départ.
Et dire que le challenge commence normalement le 1 mars... que de rapidité, bravo a tous déjà !!!
Michael, je valide tes résultats suite à la modification du sujet !
Houlà, il a du succès ce challenge voilà que j'arrive seulement dans la place, pas trop le temps ces moments-ci
Code envoyé
code envoyé
code envoyé 🙂 c'est bizarre çà parait simple j'ai du me tromper quelque part.
Code envoyé !
Code envoyé, avec complexité constante 😉
Code envoyé !
Voici le status à ce jour, juste pour vérifier que tout ce que j'ai reçu est bien dans le tableau. S'il manque quelqu'un, dites le moi. Le challenge continue.
1 | CH42_cadennas_yopYyop_ici.vi | |||
2 | Ch42_Cadenas_OlivierL.vi | |||
3 | Ch42_cadenas_MichaelC | |||
4 | CH42_hallenge42_David-K.vi | |||
5 | Ch42_cadenas_PhilB58 | |||
6 | Ch42_cadenas_AllanB54.vi | |||
7 | Ch42_cadenas_joke67000 | |||
8 | Ch42_cadenas_beno72.vi | |||
9 | Ch42_cadenas_FLBP | |||
10 | Ch42_cadenas_atchuuum.vi | |||
11 | Ch42_cadenas_ghost67 | |||
12 | Ch42_cadenas_vdparter | |||
13 | CH42_Sebastien_D.zip |
Code envoyé
Bonjour,
Il est temps de publier les codes et effectuer le tirage au sort pour gagner l'abonnement au magazine Programmez.
Juste pouvez vous vérifier si votre nom et code est bien dans la liste et nous ferons un tirage au sort en suivant le loto de fdj de mercredi soir. Chacun aura 3 boules en fonction de son numéro attribué. 1 = 1,2,3 ; 2 = 4,5,6 ; 3 = 7,8,9... 14 = 40,41,42.
Si la première boule qui tombe est entre 43 et 49, alors on attend la deuxième boule etc...
Numéro | Nom et Code | Vérification | ||
1 | CH42_cadennas_yopYyop_ici.vi | ok | ||
2 | Ch42_Cadenas_OlivierL.vi | ok | ||
3 | Ch42_cadenas_MichaelC | ok | ||
4 | Challenge42_David-K.vi | ok | ||
5 | Ch42_cadenas_PhilB58 | ok | ||
6 | Ch42_cadenas_AllanB54.vi | ok | ||
7 | Ch42_cadenas_joke67000 | ok | ||
8 | Ch42_cadenas_beno72.vi | ok | ||
9 | Ch42_cadenas_FLBP | ok | ||
10 | Ch42_cadenas_atchuuum.vi | ok | ||
11 | Ch42_cadenas_ghost67 | ok | ||
12 | Ch42_cadenas_vdparter | ok | ||
13 | CH42_Sebastien_D.zip | ok | ||
14 | Ch42_cadenas_LabAJO.vi |
ok |
Je publie les codes, vous aller constater qu'il n'y a pas deux fois des méthodes identiques et que certains ont vraiment des optimisations plutôt efficaces a réutiliser. Le code de Joke 67000 a même une interface sympathique.
Merci de votre participation a tous, les défis continuent.
merci emmanuel pour la publication des codes 😉 malheureusement, j'ai du mal à ouvrir certains fichiers 😞
J'avais une question à ce propos: je suis toujours en LV 2014, surtout par commodité, plusieurs de mes machines fonctionnent avec RTE2014 avec des applis compilées pour cette version. Je continue en parallèle à faire évoluer les applications pour ces machines, alors je reste sur LV2014 pour m'éviter de tout recompiler et installer partout le RTE2016, ma charge de travail étant conséquente, j'évite d'en rajouter.
Y a-t-il un intérêt notoire de passer en LV2016, sachant que ça va me coûter pas mal de temps??
Merci de votre avis.
PS: j'aurais peut-être dû poser la question sur le forum de la communauté, mais je n'ai que rarement le problème de lecture de Vi récents, je l'ai surtout ici, dans les challenges 🙂
J'ai tout compilé en LabVIEW 2010 pour que cela soit ouvrable par le plus grand nombre (a tester quand même). Par contre certains codes ont une interface qui sera un peu plus épurée car il est sorti des ajouts graphiques depuis.
Pour la mise a jour, bonne question PhilB58. En fait cela dépend des besoins. Il n'est pas nécessaire de se mettre à niveau à chaque fois, loin de là. Sauf si vous êtes intégrateur et que vous devez fournir un code récent pour les utilisateurs finaux.
Voici un lien qui permet de savoir si cela vaut le coup ou pas en fonction du LabVIEW de départ :
http://www.ni.com/white-paper/52231/fr/
Merci pour le lien, je vais consulter pour me faire une idée 🙂
Pour ce qui est d'ouvrir les Vi, je place une copie d'écran de ce qui m'arrive 😉
Je ne sais pas si c'est compilé en LV2010, mais là, ça m'annonce LV2015 🙂 alors j'ai un peu de mal 🙂
Oui oui, j'ai ajouté un deuxième Zip en pièce jointe ce matin dans l'énoncé, recompilés en version antérieure 2010. Cela permet d'ouvrir un plus grand nombre.
ben c'est malin ça, si Emmanuel commence à me jouer des tours 🙂
1 | CH42_cadennas_yopYyop_ici.vi | 1 2 3 | ||
2 | Ch42_Cadenas_OlivierL.vi | 4 5 6 | ||
3 | Ch42_cadenas_MichaelC | 7 8 9 | ||
4 | Challenge42_David-K.vi | 10 11 12 | ||
5 | Ch42_cadenas_PhilB58 | 13 14 15 | ||
6 | Ch42_cadenas_AllanB54.vi | 16 17 18 | ||
7 | Ch42_cadenas_joke67000 | 19 20 21 | ||
8 | Ch42_cadenas_beno72.vi | 22 23 24 | ||
9 | Ch42_cadenas_FLBP | 25 26 27 | ||
10 | Ch42_cadenas_atchuuum.vi | 28 29 30 | ||
11 | Ch42_cadenas_ghost67 | 31 32 33 | ||
12 | Ch42_cadenas_vdparter | 34 35 36 | ||
13 | CH42_Sebastien_D.zip | 37 38 39 | ||
14 | Ch42_cadenas_LabAJO.vi |
40 41 42 |
Bonjour à tous
Comme j'ai du compter sur mes doigts, je partage les numéros attribués en fonction des rangs.
Bonjour,
Voici le résultat du loto d'hier soir
MERCREDI | 05/04/2017 | 10 | 40 | 42 | 20 |
6
|
La première boule a être tombée est la 10 donc notre gagnant ce mois-ci est "David-K" !!!!!
Bravo à tous aussi et merci pour tous vos codes ce qui permet de partager les bonnes pratiques et cultiver les différences de programmation (et astuces). RDV au prochain défi et peut être que vous serez alors tiré au sort, si votre programme fonctionne !
A bientôt
Emmanuel
Félicitations David-K! C'est dommage, les deux boules d'après étaient pour moi, j'aurais du jouer au loto