Entraide

Problème avec un programme ? Tu sais pas comment transférer un programme ? Tu es bloqué avec ton projet ?

Planète-Casio est une communauté d'entraide regroupant de fins connaisseurs sur les Casio qui seront ravis de te dépanner !

Allez sur le Forum partie Problèmes pour exposer votre souci et obtenir de l'aide.
Vous pouvez aussi trouver la réponse directement dans le FAQ du site, régulièrement mise à jour par les administrateurs.
Si vous cherchez à perfectionner votre niveau en programmation, visitez la section Astuces du forum et les Articles de qualité.
Défi
Retour liste des défis
Quine
Difficulté : Moyen
Défi ajouté par : Nemhardy le 03-01-2018 16:04
NemhardyHors ligneGrand maître des Traits d'EspritPoints: 1235 Défis: 54 Message
Question ou texte du défi :
Je ne crois pas avoir déjà vu passer ça, je ne sais même pas si c'est vraiment intéressant, mais un petit «plus court quine» en Casio Basic, ça peut être rigolo, si des gens ont envie de s'y pencher !

Je n'ai pas encore de solution, mais peut-être que je m'y intéresserais, un jour…

Longueur du plus court quine libre : 1 octet (Zezombye).

Longueur du plus court quine à gauche : ∞.
Longueur du plus court quine dans une chaîne : ∞.


Commentaires :

LephenixnoirHors ligneAdministrateurPoints: 14125 Défis: 136 Message
Posté le 03-01-2018 à 17:24 | #
Hmm, j'ai essayé, c'est très compliqué pour plusieurs raisons. D'abord votre programme doit tenir dans l'écran si vous voulez qu'il génère son propre code.

Ensuite si vous voulez utiliser les Str, vous ne pouvez les afficher qu'avec Locate. Mais Locate ne gère pas les retours à la ligne, donc vous risquez de devoir afficher le Locate via un autre commande qu'elle-même, puisque Locate 1,1,"Locate 1,1," ne tient pas dans une ligne, donc ne peut pas être affiché par Locate.

Le fait qu'on ne puisse pas écrire un guillemet littéral sans l'échapper fait perdre un temps fou. Pour m'en sortir, j'ai besoin de 4 lignes au moins. x)

Je serais curieux de voir le résultat, si quelqu'un arrive à en faire un.

Edit : Si le programme génère son code dans une Str, alors c'est une toute autre affaire.
Suruq gameHors ligneMembre de CreativeCalcPoints: 614 Défis: 20 Message
Posté le 03-01-2018 à 18:09 | #
Défi très intéressent mais comme l'a dit Lephe c'est très dur et perso je sèche
ZezombyeHors ligneRédacteurPoints: 1594 Défis: 12 Message
Posté le 03-01-2018 à 18:13 | #
Think outside the box


Ca affiche le code source
Taille : 1 octet
Suruq gameHors ligneMembre de CreativeCalcPoints: 614 Défis: 20 Message
Posté le 03-01-2018 à 18:15 | #
Je m'incline
J'ai cherché bien trop dur
LephenixnoirHors ligneAdministrateurPoints: 14125 Défis: 136 Message
Posté le 03-01-2018 à 18:18 | #
Je sais pas si afficher un résultat numérique compte pour afficher du code... x)

Dans tous les cas, bien joué. Je te propose maintenant (et ça sera fun si et seulement si je suis assez malin) d'écrire un quine qui affiche son code à gauche de l'écran.
NemhardyHors ligneGrand maître des Traits d'EspritPoints: 1235 Défis: 54 Message
Posté le 03-01-2018 à 18:27 | #
@Zz : C'est malin tiens.

Effectivement, je n'avais pas songé à la question de la taille de l'écran et le fait que sur une ligne on ne met pas grand chose.

Je suppose que vis à vis de ça, et de la solution de Zz, on peut faire le défi annexe qui consiste à écrire son code dans une String, si vous pensez que c'est plus intéressant, quitte à laisser ouverte la question d'un «vrai quine» à côté, bien que la réponse de Zz soit techniquement acceptable, je suppose !

Je n'ai pas ma machine là où je suis, c'était juste une petite idée si y'avait des gens que ça amusait d'y réfléchir, d'où le fait que j'ai posté sans savoir si c'était vraiment faisable… Désolé…
Ne0tuxHors ligneMembre d'honneurPoints: 3246 Défis: 261 Message
Posté le 03-01-2018 à 18:53 | #
J'ai cru qu'il s'agissait d'un jeu de loto (dans le Sud les vieux crient "Quine" quand leur grille est gagnante...) !

J'ai eu la même idée que ZZ, même si j'aurais plus simplement mis 0 (qui me semble plus "léger" que 1, mais c'est tout à fait personnel ).

Merci d'avoir partagé ce défi, j'ai appris ce qu'était un Quine grâce à toi !
ZezombyeHors ligneRédacteurPoints: 1594 Défis: 12 Message
Posté le 03-01-2018 à 19:04 | #
Pour afficher le texte à gauche, je propose le programme a.
Une fois qu'on a appuyé sur "exit" pour l'erreur syntaxe, le code du programme est affiché, à gauche.

En vrai la contrainte du texte qui tient sur l'écran rend le truc impossible, parce que le code serait bien trop grand.
NemhardyHors ligneGrand maître des Traits d'EspritPoints: 1235 Défis: 54 Message
Posté le 03-01-2018 à 19:21 | #
Comme le dit LePhé, on peut jouer à émettre son code dans une chaîne aussi.
LephenixnoirHors ligneAdministrateurPoints: 14125 Défis: 136 Message
Posté le 03-01-2018 à 19:23 | #
Pour la chaîne, je saurais faire si on avait un moyen d'écrire un guillemet littéral. J'ai essayé en mettant un autre caractère à la place (mais une méthode plus compliquée comme printf("%c", 0x22) marcherait aussi), et j'ai « réussi ».

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2019 | Il y a 24 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd