Possiamo creare un programma che scriva il suo codice sorgente?

1

Possiamo creare un programma che stampi il suo codice sorgente e se compiliamo (o il programma stesso) di quanto il nuovo programma avrebbe la stessa funzionalità esatta del programma originale? Quindi in qualche modo si riprodurrebbe in cloni perfetti che possono anche riprodursi.
Il programma non dovrebbe usare file esterni altrimenti sarebbe davvero facile da implementare: abbiamo solo bisogno di creare un programma che legge un file piuttosto che scriverlo, piuttosto che copiare e incollare il codice sorgente file esterno.
Il mio primo tentativo è stato quello di scrivere un programma con una funzione di stampa che copiare e incollare il codice sorgente in questa funzione di stampa, ma questo programma può riprodursi solo una volta e non ha la stessa funzionalità perché il secondo programma non può essere stampato il codice sorgente.

    
posta totymedli 19.04.2013 - 00:28
fonte

2 risposte

8

Si chiama quine . È un argomento frequente di sfide di programmazione.

Questa pagina elenca un numero elevato di quine scritte in varie lingue. Puoi vedere come è implementato in questi esempi per ottenere l'idea generale su come scrivere da solo.

    
risposta data 19.04.2013 - 00:34
fonte
3

Sì, come p.s.w.g ha detto che questo è chiamato quine.

A quine is a computer program which takes no input and produces a copy of its own source code as its only output. The standard terms for these programs in the computability theory and computer science literature are self-replicating programs, self-reproducing programs, and self-copying programs.

Da: link

E, questo può essere ottenuto in qualsiasi linguaggio di programmazione che sia completo di visualizzazione

guarda qui per maggiori informazioni: link

Inoltre, su una nota correlata, qui puoi trovare esempi di quine e altri puzzle di programmazione: link

    
risposta data 19.04.2013 - 00:52
fonte

Leggi altre domande sui tag