[Concours] À La Limite Du Raisonnable #4
Posté le 15/10/2021 15:13
Salut à tous programmeurs fous, et bienvenue dans la 4ème édition du concours
À La Limite Du Raisonnable !
Les règles sont simples : vous devez programmer un jeu de votre choix avant Dimanche soir (17 Octobre) à 23h59, en respectant les règles suivantes. Les programmes seront notés semi-informellement sur 10 avec les critères du CPC (voir les
règles du CPC #27).
Les caractères 0...9, +, -, × et ÷ sont interdits.
Bien sûr, vous aurez besoin de nombres et d'arithmétique... mais vous devrez les faire autrement.
Vous ne pouvez utiliser qu'une liste au plus, et aucune matrice.
Toutes les variables exotiques, Str, fn, et autres méthodes de stockages sont autorisées.
Goto/Lbl sont interdits, sauf si vous n'utilisez que ça.
Vous pouvez prendre la pilule bleue et écrire un programme qui ne contient aucun Goto/Lbl. Ou vous pouvez prendre la pilule rouge et n'utiliser que ça, auquel cas seuls Goto, Lbl, Isz et Prog sont autorisés pour les tests et sauts (Return, Dsz, ⇒ sont interdits en particulier, en plus évidemment de tous les If, For, While, Do, etc). En cas de doute demandez-moi si une instruction est autorisée. 1 point bonus si vous prenez la deuxième option.
Soit écran texte uniquement (avec au moins un ASCII art) soit écran graphique uniquement (avec au moins une Picture).
La qualité du pixel art ou de la Picture n'importe pas pour le respect de la règle, mais il y a des points de graphismes... x3
Le meilleur programme remportera une
batterie portable CASIO grâce au soutien de
CASIO Éducation !
À vos calculatrices !!
Citer : Posté le 15/10/2021 15:14 | #
Précision : puisque les chiffres sont interdits, les amateurs de pilules rouges sont donc limités à 28 labels par fichier, moment à partir duquel l'usage de sous-programmes devient obligatoire.
Citer : Posté le 15/10/2021 16:19 | #
Ah ouais ça rigole pas les contraintes !
Aucun chiffre ni signe, je me demande même si c'est possible, est-ce raisonnable ?
Je ne vais pas pouvoir participer à cause de mes révisions. Bon courage pour les participants j'ai hâte de voir ce que vous allez produire !
(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 15/10/2021 16:52 | #
Aucun chiffre ni signe, je me demande même si c'est possible, est-ce raisonnable ?
C'est absolument possible, tu peux créer des entiers et exécuter les quatre opérations sans utiliser ces symboles
Citer : Posté le 15/10/2021 16:52 | #
ho, ça a l'air sympa
Mon choix de pillule
Citer : Posté le 15/10/2021 16:55 | #
Donc ton choix c'est à la fois de n'utiliser que Lbl, Goto, Isz et Prog, mais aussi de n'utiliser aucun Lbl/Goto. Donc il te reste Isz et Prog. T'es maline en réalité parce que je crois que ça suffit pour faire n'importe quel programme. Bon courage, 2 points bonus si tu y arrives.
Citer : Posté le 15/10/2021 16:59 | #
Je pense pas, car la pile d'appel est drastiquement limitée. Ou alors faut faire une croix sur les boucles et autres structures de ce type, non ?
Citer : Posté le 15/10/2021 17:03 | #
Il me semble que le return est gratuit si tu arrive en fin de programme…
Citer : Posté le 15/10/2021 17:04 | #
Oui. Mais si tu fais une boucle tu es limitée en nombre d'itérations par la taille de la pile d'appels restante (et de mémoire elle est vraiment pas grande)
Citer : Posté le 15/10/2021 17:06 | #
Les boucles infinies oui je ne vois comment tu pourrais en avoir. Mais tu peux avoir un sous-programme qui s'appelle récursivement 10 fois avec un test à chaque fois pour compter les tours et brancher vers le corps de la boucle en bout d'appel, auquel cas tu n'es limité que par 10²⁰ tours ou je ne sais quelle autre limite exacte. Ton programme ne ressemble plus à rien par contre.
Note que tu peux faire ça et implémenter une sémantique à petits pas dans le dernier fichier auquel cas ton programme est une boucle de 10²⁰ tours de "une action du programme" et ensuite t'as un fichier entier pour encoder la logique du jeu (sans composition du coup, toutes les fonctionnalités sont mélangées ; c'est rude mais ça se fait). C'est une transformation classique pour éliminer l'itération non bornée/récursion d'un programme et ne la garder qu'au "toplevel".
Edit : Ça te grille la seule liste à laquelle tu as accès pour servir de pile aussi.
Citer : Posté le 15/10/2021 17:07 | #
De mémoire elle est de 10, donc j'ai jamais utilisé de trucs recursif en Basic.
Donc adieu les boucles, et tu peut pas remonter dans ton programme…
Citer : Posté le 15/10/2021 17:28 | #
Incroyable, j'ai déjà mal au crane ! Je vais prendre la pillule rouge et ressasser tous mes choix de vie. Bon courage les gens
Citer : Posté le 15/10/2021 17:30 | #
Sinon j'ai pas vraiment compris d'où sort le 10^(20) de Lephé ?
Citer : Posté le 15/10/2021 17:41 | #
Contraintes très intéressantes !
Quelques questions:
Les caractères "²" (exposant 2), racine cubique, et en général ceux qui contiennent un chiffre mais qui ne sont pas les caractères 0...9 sont-ils autorisés ?
Les caractères interdits le sont seulement dans le code ou bien il est également interdit de les afficher ?
Je suppose que la liste Ans compte comme une liste, donc on n'a pas le droit d'utiliser la liste Ans si on utilise déjà une des listes 1-26 et vice versa, c'est ça ?
Citer : Posté le 15/10/2021 18:03 | #
J'ai aucune idée de ce que je vais faire ni de comment je vais le faire mais...
Citer : Posté le 15/10/2021 18:58 | #
Ils sont autorisés.
Il est autorisé des les afficher mais à ma connaissance il n'y a aucun moyen d'afficher un caractère s'il n'est pas quelque part dans une chaîne de caractères dans le code, donc sauf méconnaissance de ma part en pratique il est impossible de les afficher.
Yup.
Citer : Posté le 15/10/2021 19:06 | #
Il est autorisé des les afficher mais à ma connaissance il n'y a aucun moyen d'afficher un caractère s'il n'est pas quelque part dans une chaîne de caractères dans le code, donc sauf méconnaissance de ma part en pratique il est impossible de les afficher.
C'est possible pour les chiffres en tout cas (avec locate et une variable par exemple).
Citer : Posté le 15/10/2021 19:06 | #
Ah oui exact ! Je suis bête. C'est autorisé.
Citer : Posté le 15/10/2021 19:08 | #
Est ce que les caractères ascii + et - sont autorisés ?
Ecrivez vos programmes basic sur PC avec BIDE
Citer : Posté le 15/10/2021 19:12 | #
Ils ne permettent pas de calculer directement donc oui. Et si tu trouves un moyen de calculer avec alors c'est assez malin pour accomplir ce que je demande, à savoir trouver un moyen détourné de faire de l'arithmétique.
Citer : Posté le 15/10/2021 22:52 | #
J'ai fini de faire un + ou -, catégorie pillule rouge
J'essaie de poster ça demain.
Suivant le temps que je me libère, je tenterais soit un truc pour le concours de rentrée, soit un programme ALLDR