Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| Ecrire un quine en Panoramic | |
| | Auteur | Message |
---|
Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Ecrire un quine en Panoramic Mer 1 Mai 2019 - 12:19 | |
| Bonjour à tous ! Je vous propose un petit défit (ou problème, jeu, casse-tête …) : Ecrire un quine en Panoramic !
Qu’est-ce un quine ? "Un quine (ou programme autoreproducteur, self-reproducing en anglais1) est un programme informatique (non vide) qui imprime son propre code source. L'opération qui consiste à ouvrir le fichier source et à l'afficher est considérée comme une tricherie. Plus généralement, un programme qui utilise une quelconque entrée de données ne peut être considéré comme un quine valide." Source : https://fr.wikipedia.org/wiki/Quine_(informatique)Maintenant que les règles sont définies, à vous de jouer ! N’hésitez pas à partager vos codes, de préférence en les cachant avec la commande "Spoiler" du forum pour ne pas divulguer trop vite vos astuces… Pour le moment, je ne livre pas ma solution. Néanmoins, elle est dans mon WebDAV. A vos claviers ! Bonne journée à tous ! | |
| | | Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Ecrire un quine en Panoramic Dim 5 Mai 2019 - 12:37 | |
| Bonjour à tous ! Voici ma solution pour l'écriture d'un quine. Comme périphérique de sortie, j'ai choisi un MEMO. Tout autre moyen pour récupérer le code-source généré, était bon aussi. Par exemple un SYNEDIT, un MEMO_RICH ou un simple fichier texte sur le disque dur aurait fait l'affaire. Code du quine: - Code:
-
DIM a$,result$,i%,caractere$ MEMO 1 FULL_SPACE 1 BAR_HORIZONTAL 1 a$="DIM a$,result$,i%,caractere$#nMEMO 1#nFULL_SPACE 1#nBAR_HORIZONTAL 1#na$=#g#s#g#nFOR i% = 1 TO LEN(a$)#n caractere$=MID$(a$,i%,1)#n IF caractere$=CHR$(35)#n i%=i%+1#n caractere$= MID$(a$,i%,1)#n IF caractere$=CHR$(115)#n result$=result$+CHR$(34)+a$+CHR$(34)#n END_IF#n IF caractere$=CHR$(110)#n result$=result$+CHR$(13)+CHR$(10)#n END_IF#n ELSE#n result$=result$+caractere$#n END_IF#nNEXT i%#nITEM_ADD 1,result$#nEND#n#n" FOR i% = 1 TO LEN(a$) caractere$=MID$(a$,i%,1) IF caractere$=CHR$(35) i%=i%+1 caractere$= MID$(a$,i%,1) IF caractere$=CHR$(115) result$=result$+CHR$(34)+a$+CHR$(34) END_IF IF caractere$=CHR$(110) result$=result$+CHR$(13)+CHR$(10) END_IF ELSE result$=result$+caractere$ END_IF NEXT i% ITEM_ADD 1,result$ END Démonstration : Le code-source récupéré dans le MEMO est rigoureusement identique à celui qui l'a généré. Bon dimanche à tous ! | |
| | | Froggy One
Nombre de messages : 598 Date d'inscription : 06/01/2012
| Sujet: Re Mer 8 Mai 2019 - 11:17 | |
| Bouh ! le temps de trouver le temps de l'écrire, Marc a déjà publié la solution ! Moi, j'avais un peu triché : - Code:
-
caption 0,"Quine" dim a$,i% label FIN data "caption 0",",","34","Quine","34","13" data "dim a$,i%","13" data "while not (a$=","34","end","34"," ) ","13","read a$","13" data "print a$","13","END" while not (a$="END") read a$ if a$="13" then print chr$(val(a$)): goto FIN if a$="34" then print chr$(val(a$));: goto FIN print a$; FIN: end_while N'empêche, c'est fort intéressant et il ne me reste plus qu'à me plonger dans ton code... et apprendre de meilleur que moi ! | |
| | | Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Ecrire un quine en Panoramic Mer 8 Mai 2019 - 12:31 | |
| Bonjour Froggy One et merci d'avoir essayé ! C'est vrai que l'exercice est un peu compliqué. L'exécution du code-source doit reproduire à l'identique toutes les lignes qui le compose. Je suis désolé, mais malheureusement, ton quine n'est pas valide. Ton source est composé de 14 lignes, et lors de l'exécution, il n'en ressort que 6, dont certaines ne sont pas identiques à l'original. - Spoiler:
En tout cas, encore merci d'avoir participé à cet exercice. Bonne continuation ! | |
| | | Contenu sponsorisé
| Sujet: Re: Ecrire un quine en Panoramic | |
| |
| | | | Ecrire un quine en Panoramic | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |