Concours de rentrée 2019 - Épreuve Python !
Posté le 30/09/2019 13:04
Notre concours de rentrée 2019 se poursuit avec la deuxième épreuve, en langage Python !
Comme l'année dernière et l'année précédente, TI-Planet et Planète Casio organisent un concours de rentrée ludique et mathématique orienté vers les calculatrices graphiques. Cette année,
trois épreuves te sont proposées dans différents langages, avec des calculatrices Casio, TI, HP et Numworks à remporter.
La deuxième épreuve de ce concours est
l'épreuve en langage Python. C'est un problème de combinatoire Pokémon aidé par un script Python à lancer sur la plateforme de ton choix.
L'épreuve Python est ouverte jusqu'au
Dimanche 3 Novembre à 23h59.
Épreuve Python.
Équilibre ton équipe pour remporter le tournoi Pokémon de TI-Planète-Casio !
Dans cette épreuve, ton objectif est de sélectioner attentivement ton équipe de Pokémon. Tu peux choisir jusqu'à 10 Pokémon (tous différents) et leur donner à chacun une priorité d'attaque. Si leurs compétences se complètement bien, ton score augmentera !
Les scripts et ressources sont fournis
dans l'article associé sur TI-Planet. Côté calculatrices, tu peux utiliser le programme avec une Graph 90+E, une Graph 35+E II, ou un modèle plus ancien qui supporte les add-ins comme les Graph 35+ USB, 35+E, 75+ ou 75+E. Tu peux aussi utiliser le script sur ton ordinateur avec Python.
Le programme te fournit une fonction
pk pour construire ta main.
• Appelle
pk(n,p) pour ajouter le pokémon numéro
n à ta main avec une priorité d'attaque
p. Il y a 94 Pokémons autorisés au tournoi, donc tu dois choisir
n entre 1 et 94.
• Appelle
pk(n,p) de nouveau pour changer la priorité d'attaque du Pokémon
n si ce Pokémon est déjà dans ta main.
• Appelle
pk(n,0) pour retirer le Pokémon numéro
n de ta main.
À chaque fois que tu modifies ta main, le programme annonce ton score et un code qui nous permet de vérifier ta solution. L'objectif est de trouver l'équipe de Pokémon qui maximise ton score !
Comme d'habitude,
tous les coups sont permis pour trouver la solution, tant qu'il n'y a pas de triche ou partage de solutions entre les participants. Tu peux utiliser tous les outils mathématiques et informatiques que tu veux, y compris modifier le script ou faire jouer un ordinateur à ta place.
Pour télécharger le programme de l'épreuve, consulte la rubrique "Ressources"
sur TI-Planet.
Comment participer
Pour participer, il te suffit d'envoyer le code correspond à ta main à
info@tiplanet.org avec pour objet
concours de rentrée 2019. N'oublie pas de préciser :
• Une adresse mail personnelle (si différence de celle de l'envoi)
• Ton adresse postale complète (avec nom et prénom)
• Si tu le souhaites, ton pseudo TI-Planet ou Planète Casio (affiché sur la liste des résultats)
• Un numéro de téléphone personnel (utile pour ne pas oublier la sélection des lots à la fin du concours)
Tu peux envoyer plusieurs participations, nous ne compterons que la meilleure !
Lots de l'épreuve
L'épreuve de Python comporte
13 lots à remporter. Les candidats qui ont obtenu les 13 meilleurs scores choisiront chacun un lot par ordre décroissant de score.
2 Lots Hélium : 1 calculatrice Graph 90+E, 1 pack de goodies Casio et 1 pack de goodies TI-Planète-Casio
Lot Fluor : 1 licence émulateur Casio, 1 poster Casio, 1 bloc-notes Casio EX-word avec stylo ou trousse ou sac Casio, 1 balle anti-stress Casio LampFree ou calepin Casio ou porte-clés Casio LampFree, 1 catalogue Casio, 1 pack de goodies Casio et 1 pack de goodies TI-Planète-Casio
Lot Néon : 1 licence émulateur Casio, 1 cahier d'exercices Casio, 1 mémo Casio, 1 bloc-notes Casio EX-word avec stylo ou trousse ou sac Casio, 1 balle anti-stress Casio LampFree ou calepin Casio ou porte-clés Casio LampFree, 1 catalogue Casio, 1 pack de goodies Casio et 1 pack de goodies TI-Planète-Casio
Lot Hydrogène : 1 calculatrice HP Prime G2, 1 stylo HP et 1 pack de goodies TI-Planète-Casio
Lot Phosphore : 1 application HP Prime Pro, 1 bloc-notes HP, 1 stylo HP et 1 pack de goodies TI-Planète-Casio
Lot Chlore : 1 calculatrice NumWorks, 1 pack de goodies NumWorks et 1 pack de goodies TI-Planète-Casio
Lot Argon : 1 poster NumWorks, 1 casse-tête ou stylo NumWorks, 1 pack de goodies NumWorks et 1 pack de goodies TI-Planète-Casio
Lot Brome : 1 calculatrice TI-Nspire CX II-T CAS ou calculatrice TI-Nspire CX CAS Ndlessable, 1 licence logiciel TI-Nspire CAS élève, 1 pack de goodies TI et 1 pack de goodies TI-Planète-Casio
Lot Krypton : 1 calculatrice TI-Nspire CX II-T, 1 licence logiciel TI-Nspire élève, 1 pack de goodies TI et 1 pack de goodies TI-Planète-Casio
Lot Iode : 1 calculatrice TI-83 Premium CE Edition Python, 1 cahier TI-83 Premium CE, 1 pack de goodies TI et 1 pack de goodies TI-Planète-Casio
Lot Xénon : 1 licence logiciel TI, 1 cahier TI-83 Premium CE, 1 pin's TI-Nspire CX ou pochette CD TI-Nspire, 1 décalcomanie TI-83 Premium CE, 1 balle anti-stress TI, 1 sac TI, 1 dessous de verre TI ou lunettes de soleil #T3IC ou scellé de sécurité TI, 1 pack de goodies TI et 1 pack de goodies TI-Planète-Casio
Lot Radon : 1 licence logiciel TI, 1 cahier TI-83 Premium CE, 1 polo TI ou T-shirt TI, 1 décalcomanie TI-83 Premium CE, 1 balle anti-stress TI, 1 sac TI, 1 dessous de verre TI ou lunettes de soleil #T3IC ou scellé de sécurité TI, 1 pack de goodies TI et 1 pack de goodies TI-Planète-Casio
Tu peux retrouver tous les détails des choix de goodies et de nombreuses photos
sur TI-Planet.
À toi de jouer !
Comme souvent avec ces problèmes, une petite astuce de méthode peut te mener à la victoire. Essaie toutes les idées qui te viennent pour exploser le score de ton équipe Pokémon et figurer dans les 13 vainqueurs !
Article connexe sur TI-Planet : Concours de rentrée 2019 - défi de Python
Fichier joint
Citer : Posté le 30/09/2019 14:16 | #
Quelle est la priorité p maximale ? A nous de chercher ?
Par ailleurs, le top pour ceux qui veulent utiliser l'emulateur NumWorks en ligne serait de le recompiler (j'ai lu ici que c'était possible) pour intégrer le script de reference TIPC19PY.py, si qqun se sent ou a le temps de le faire ....
Citer : Posté le 30/09/2019 14:17 | #
Il n'y a pas de priorité maximale.
On peut aussi le lancer en ligne de commande soit dit en passant.
Citer : Posté le 30/09/2019 15:11 | #
Est-ce qu'il y aura un classement visible durant l'épreuve ? Pour savoir si on s'est bien planté
Citer : Posté le 30/09/2019 15:53 | #
On planifie d'en faire un oui, ça va finir par arriver. C'est plus facile que pour la première épreuve car évaluer les participations se fait de façon bien plus automatique
Citer : Posté le 30/09/2019 16:21 | #
3.32×10^19 combinaisons ?
Ça va, je travaile sur une technique pour augmenter le maximum mes points en essayant de décortiquer le programme et créer une équation, car je pense bien qu'il y a un calcul derrière tout ça !
Citer : Posté le 30/09/2019 16:23 | #
3.32×10^19 combinaisons ?
Hmm, non pas vraiment. L'espace à explorer n'est pas discret...
Citer : Posté le 30/09/2019 16:24 | #
3.32×10^19 combinaisons ?
Ça va, je travaile sur une technique pour augmenter le maximum mes points en essayant de décortiquer le programme et créer une équation, car je pense bien qu'il y a un calcul derrière tout ça !
Si tu regardes le code tu devrais voir des fonctions aléatoires
Citer : Posté le 30/09/2019 16:42 | #
On peut mettre plusieurs fois la même priorité ?
Citer : Posté le 30/09/2019 16:42 | #
Absolument.
Citer : Posté le 30/09/2019 17:56 | #
Je connaît pas pokémon c'est grave ?
Citer : Posté le 30/09/2019 18:00 | #
Tant que tu sais compter jusqu'à 94 c'est bon !
Citer : Posté le 30/09/2019 18:36 | #
Ah mince ! Je sais pas compter jusqu'à 94 ! bon bah recalé ? (Sinon une idée de classement serai une bonne idée !)
(Et de toute façon, vous pouvez pas dire le contraire)
MultipliCasio
RDM Calculs
Back Mirror
A Switch To The Top C
Citer : Posté le 30/09/2019 19:41 | #
On doit avoir 10 pokemon ou le nombre que l'on veut ?
Citer : Posté le 30/09/2019 19:41 | #
Le nombre que tu veux, mais probablement au moins 2.
Citer : Posté le 30/09/2019 19:43 | #
Donc au moins 2, pas 1 ? Juste comme ça
Citer : Posté le 30/09/2019 19:43 | #
Je connaît pas pokémon c'est grave ?
Oui ça l'est. Pas pour le concours, ceci dit.
Citer : Posté le 30/09/2019 20:01 | #
L'énoncé ne le précise pas, mais effectivement pendant la préparation du défi, on a toujours pensé la main Pokémon au pluriel.
Donc tant qu'à devoir apporter cette précision, on est en train d'échanger au sujet du nombre minimum.
Ajouté le 30/09/2019 à 22:49 :
Quelqu'un a testé sur Graph 35+E II avec KhiCAS ?
J'ai une popup d'erreur système dès l'exécution du script.
Je conçois qu'avec 3,7K le script n'est pas petit, mais il marche pourtant sans problème sur :
- Graph 90+E avec KhiCAS
- Graph 35+E II avec CasioPython (malgré la mémoire de travail bridée par erreur à 32K sur cette machine)
- NumWorks (avec seulement 16K de mémoire de travail là, et en faisant 3.7K + la taille de tous les objets Python créés à l'exécution, on est quasiment à la limite des capacités actuelles de la machine)
Merci.
Ajouté le 01/10/2019 à 02:20 :
L'ensemble des scripts viennent d'être mis à jour en version 2.
Détail des modifications :
- Correction de la formule de calcul du score, désolé pour l'erreur.
- Correction du bug des Pokémons de priorité trop faible (strictement inférieure au 93ème du total des priorités), qui continuaient à être affichés alors que non récupérables quand on utilisait votre code de participation.
Si le cas se présente (même si je ne vois pas trop l'intérêt d'un tel déséquilibre), les Pokémons de priorité trop faible seront automatiquement éjectés de la main.
- Correction d'un bug KhiCAS / HP Prime, avec la suppression des Pokémons qui n'était pas effectuée parce que la fonction Python del() y était substituée par une fonction purge() qui n'a apparemment pas le même comportement.
Le code en question fait maintenant appel à la méthode .remove().
- Optimisations de code, ce qui permet de respirer un peu sur NumWorks avec les seulement 16K de mémoire de travail.
N'hésitez pas à signaler tout problème qui subsisterait.
Téléchargements :
- Casio Graph 35/75/85/95 / CasioPython / KhiCAS
- HP Prime
- NumWorks
- TI-83 Premium CE
- TI-Nspire
Problèmes connus :
- Script non fonctionnel si on utilise l'appli KhiCAS sur Graph 35+E II (calculatrice ou émulateur), plante dès l'exécution :
- Corruption de l'affichage si on utilise l'appli CasioPython sur l'émulateur Graph 35+E II :
(bizarrement, il n'y a pas ce problème avec l'appli CasioPython sur la calculatrice Graph 35+E II physique, ni sur l'ancien émulateur Graph 35/75+E)
Dans les deux cas je n'y peux pas grand chose, le problème semblant venir de l'application en question.
Sinon 1ère participation reçue, et déjà 26,639 pts.
On met en place le classement en ligne dès que possible.
Citer : Posté le 01/10/2019 10:36 | #
Les pages de téléchargement ne fonctionnent pas
Et 26 points ? C'est pas maximum 21 que tu as dit sur Ti-PCiter : Posté le 01/10/2019 10:51 | #
Le meilleur score augmente quand quelqu'un trouve une meilleure solution, c'est normal
Citer : Posté le 01/10/2019 11:58 | #
Le programme a été modifié pour éviter des cas limites et favoriser le score pour les configurations élaborées. Le maximum est plus élevé maintenant.