π
<-
Chat plein-écran
[^]

[Mini-Challenge #12] : Quine

Sous-forums réunissant les mini-challenges en TI-Basic Nspire

[Mini-Challenge #12] : Quine

Unread postby Adriweb » 18 Aug 2014, 19:16

edit : oups, fail c'etait le 12


Peut-être connaissez-vous le challenge des "quine", en informatique ?
Si oui, très bien, vous n'avez plus qu'à en faire un en Nspire-Basic :D
Si non, le principe est simple : c'est une sorte de programme qui doit afficher son propre code source (seulement, et complètement/exactement).

Plus d'informations et d'exemples ici : http://fr.wikipedia.org/wiki/Quine_(informatique)

Note : Le Define ... EndPrgm doit y être.

Le gagnant sera celui qui aura réussi à faire le quine le plus court :)
(les codes seront testés sur TINCS 3.6+)

Source de l'idée : JWinslow23 sur Omni (sur un post qui n'existe plus, d'ailleurs), même si je connaissais le principe depuis bien longtemps :D

Topic-frère en Nspire-Lua : viewtopic.php?f=19&t=15085
(Et s'il y a des intéressés, vous pouvez lancer un autre topic-frère dans la section z80)
Image

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 78.3%
 
Posts: 14653
Images: 1118
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

Re: [Mini-Challenge #11] : Quine

Unread postby critor » 19 Aug 2014, 08:44

En voici un premier en 124 caractères.
Image

La sortie du programme et son code source sont bien identiques :)
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 44.2%
 
Posts: 41586
Images: 15121
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: [Mini-Challenge #11] : Quine

Unread postby critor » 19 Aug 2014, 09:07

Baissé à 120 caractères:
Image
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 44.2%
 
Posts: 41586
Images: 15121
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: [Mini-Challenge #11] : Quine

Unread postby critor » 19 Aug 2014, 09:17

Descendu à 113 en utilisant non plus une chaîne, mais une liste de chaînes:
Image
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 44.2%
 
Posts: 41586
Images: 15121
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: [Mini-Challenge #11] : Quine

Unread postby Adriweb » 19 Aug 2014, 09:52

Joli :)

Cependant ton premier essai est un peu plus respectueux de la règle car il garde la casse de toutes les commandes (dans le deuxième, je vois un "disp" au lieu d'un "Disp", et je ne sais pas si on peut garder la majuscule...)
Image

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 78.3%
 
Posts: 14653
Images: 1118
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

Re: [Mini-Challenge #11] : Quine

Unread postby critor » 19 Aug 2014, 09:53

Bien sûr que l'on peut mettre des majuscules dans des chaînes, voyons. :)
Je n'ai pas du tout fait attention à la casse - c'est tout.
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 44.2%
 
Posts: 41586
Images: 15121
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: [Mini-Challenge #11] : Quine

Unread postby Adriweb » 19 Aug 2014, 11:01

Ah oui, une chaîne - of course (mal lu :D ou plutôt, j'étais resté dans mes pensées sur l'usage des listes, et...)
Image

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 78.3%
 
Posts: 14653
Images: 1118
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

Re: [Mini-Challenge #11] : Quine

Unread postby Bisam » 28 Aug 2014, 09:53

J'ai une version pour Voyage 200 (ou pour 68k, en général) qui fait un peu moins :
Code: Select all
quine()
Prgm
"ClrIO:Disp "":quine()"","":Prgm"","":""&string(a)&""→a"","":expr(a)"","":EndPrgm"""→a
expr(a)
EndPrgm

Malheureusement, l'affichage ne permet pas de voir la longue ligne correctement.

On peut aussi l'adapter à la Nspire (pour 109 caractères si j'ai bien compté)
Code: Select all
Define quine()=
Prgm
"Disp "Define quine()=
  Prgm
  ",string(a),"→a","
  expr(a)
  EndPrgm""→a
expr(a)
EndPrgm
(mais là, le parseur de code du forum se plante un peu puisque les guillemets entourent toute l'expression depuis "Disp..." jusqu'à "...EndPrgm"")
User avatar
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 69.6%
 
Posts: 5666
Joined: 11 Mar 2008, 00:00
Location: Lyon
Gender: Male
Calculator(s):
MyCalcs profile


Return to Mini-Challenges

Who is online

Users browsing this forum: No registered users and 0 guests

-
Search
-
Social TI-Planet
-
Featured topics
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Offre de test des nouveautés de rentrée 2024 par Casio. Enseignant(e), reçois gratuitement 1 exemplaire, à ton choix, de la Graph Light ou bien de la Graph Math+
14€ remboursés par Casio sur l'achat de ta calculatrice Graph 35 d'ici le 31 Octobre 2024
10€ remboursés par Casio sur l'achat de ta calculatrice Graph 90+E d'ici le 31 Décembre 2024
10€ remboursés par Casio sur l'achat de ta calculatrice Graph 25 d'ici le 31 Décembre 2024
8€ remboursés par Casio sur l'achat de ta calculatrice Graph Math+ d'ici le 31 Octobre 2024
Reprise de ton ancienne fx-92 Collège ou Graph 25/35/90 à 3€ peu importe son état. Même non fonctionnelle et donc invendable, même ancienne Graph 35 non conforme aux programmes (pas de Python), même ancienne Graph 25/35 inutilisable aux examens (pas de mode examen) et donc invendable. Etiquette de retour fournie, pas de frais de port à payer.
3€ remboursés par Casio sur l'achat de ta calculatrice fx-92 Collège d'ici le 30 Septembre 2024
5€ de remise immédiate sur l'achat de ta calculatrice TI-83 Premium CE Edition Python chez les revendeurs partenaires
4€ de remise immédiate sur l'achat de ta calculatrice TI-82 Advanced Edition Python chez les revendeurs partenaires
3€ de remise immédiate sur l'achat de ta calculatrice TI-82 Advanced chez les revendeurs partenaires
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234567891011121314
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1056 utilisateurs:
>1024 invités
>27 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)