Печать текста программы | |
---|---|
Zakharov Автор Сообщений: 25 Откуда: Киев Дата регистрации: 09.12.2008 |
:puke:Здравствуйте Все!
Вообще первый раз на форуме. Однвко интересная задача. (может уже решена?) Задача древняя: Написать код программы (язык не важен) который печатает свой собственный текст. Причем условия жесткие: 1.Тескст должен совпадать 1Х1 2.Нельзя использовать файловый ввод-вывод. 3.Нельзя использовать ссылки. В общем это вроде барона Мюнхаузена - сам себя за волосы. Когда-то прочитал что на Basic такая программа заняла 60 с чем-то операторов (Техника-Молодежи за 90-е года). Однако текста не приведено. Даже сам не знаю как тут подступиться. |
Re: Печать текста программы | |
---|---|
346 Сообщений: 142 Откуда: Ростовская обл. Дата регистрации: 08.09.2006 |
проясните то есть печать типа на печатной машинке нажал букву тут же отпечаталась?
|
Re: Печать текста программы | |
---|---|
Zakharov Автор Сообщений: 25 Откуда: Киев Дата регистрации: 09.12.2008 |
Да хоть на принтере, хоть в файл. Пусть хоть вся программа состоит из операторов печати. Только бы она отпечатала свой собственный текст.
|
Re: Печать текста программы | |
---|---|
Влад Колосов Сообщений: 22664 Откуда: Ростов-на-Дону Дата регистрации: 05.05.2005 |
Без файлового ввода вывода вообще никак, т.к. текст программы находится в файле изначально. Кроме того, скомпилированный текст должен производить дизассемблирование себя, что ли? Что-то в постановке задачи некорректно.
------------------ Совершенство - это не тогда, когда нельзя ничего прибавить, а тогда, когда нечего убавить. |
Re: Печать текста программы | |
---|---|
346 Сообщений: 142 Откуда: Ростовская обл. Дата регистрации: 08.09.2006 |
wait window 'Печать текста самой программы в файл pp.txt' nowait
copy file pp.prg to pp.txt quit |
Re: Печать текста программы | |
---|---|
Влад Колосов Сообщений: 22664 Откуда: Ростов-на-Дону Дата регистрации: 05.05.2005 |
Наверное, сложность в том, что получаем рекурсию, если попытаемся написать программу в виде
print "print "print "print""" ------------------ Совершенство - это не тогда, когда нельзя ничего прибавить, а тогда, когда нечего убавить. |
Re: Печать текста программы | |
---|---|
Zakharov Автор Сообщений: 25 Откуда: Киев Дата регистрации: 09.12.2008 |
wait window 'Печать текста самой программы в файл pp.txt' nowait
copy file pp.prg to pp.txt quit Смылсл именно в том чтобы не использовать внешнюю память. :puke: |
Re: Печать текста программы | |
---|---|
ssa Сообщений: 13008 Откуда: Москва Дата регистрации: 23.03.2005 |
Ну поменяй to pp.txt на to prn ------------------ Лень - это неосознанная мудрость. |
Re: Печать текста программы | |
---|---|
346 Сообщений: 142 Откуда: Ростовская обл. Дата регистрации: 08.09.2006 |
что такое внешняя память?
|
Re: Печать текста программы | |
---|---|
Zakharov Автор Сообщений: 25 Откуда: Киев Дата регистрации: 09.12.2008 |
В данном случае внешняя память - это текст самой программы, которая берется из файла. Представте себе что программа без исходника.
И я честно предупредил, что решения не знаю! Однако ВДРУГ! Тогда с меня |
Re: Печать текста программы | |
---|---|
ssa Сообщений: 13008 Откуда: Москва Дата регистрации: 23.03.2005 |
Батенька, Бейсковской программы без исходника, да еще в те времена, не может быть в принципе. Текст программы - это ее исходник, в каком бы виде и месте он ни находился. Для откомпилированной программы без исходника его можно получить (далеко не всегда) только декомпиляцией и только после этого распечатать. Не надо ставить некорректные условия задачи. ------------------ Лень - это неосознанная мудрость. |
Re: Печать текста программы | |
---|---|
Zakharov Автор Сообщений: 25 Откуда: Киев Дата регистрации: 09.12.2008 |
Лень - это неосознанная мудрость.
С этим я согласен полностью! Но смысл задачи именно в том, чтобы программа печатала свой собственный текст (без всяких файлов). Да, пожалуйста, подскажите как взять цитату (или ссылку какую-нибудь дайте), а то я вправду не умею. |
Re: Печать текста программы | |
---|---|
ssa Сообщений: 13008 Откуда: Москва Дата регистрации: 23.03.2005 |
Свой собственный текст кроме как в файле взять негде. Его нигде больше нет. ------------------ Лень - это неосознанная мудрость. |
Re: Печать текста программы | |
---|---|
Влад Колосов Сообщений: 22664 Откуда: Ростов-на-Дону Дата регистрации: 05.05.2005 |
Да нет, есть. Как я написал. Но получится бесконечная рекурсия.
Пусть программа состоит из слова Print. Тогда, чтобы вывести текст этой программы на консоль, надо написать Print "Print" Это строку можно скомпилировать в экзешник и увидеть "Print" (Наша изначальная программа) на экране. Но если мы напечатаем так, то это будет неверно, т.к. текст программы изменился и надо писать уже Print "Print "Print"" Тут текст опять меняется, и - до бесконечности. Надо придумать, как прервать рекурсию ------------------ Совершенство - это не тогда, когда нельзя ничего прибавить, а тогда, когда нечего убавить. Исправлено 1 раз(а). Последнее : Влад Колосов, 11.12.08 12:43 |
Re: Печать текста программы | |
---|---|
leonid Сообщений: 3204 Откуда: Рига Дата регистрации: 03.02.2006 |
А такое решение пойдет?
|
Re: Печать текста программы | |
---|---|
ssa Сообщений: 13008 Откуда: Москва Дата регистрации: 23.03.2005 |
Похоже, условия задачи некорректны для компилируемых языков. Интерпретируемые языки оставляют шансы использовать какие-нибудь особенности интерпертатора, его обработчика ошибок и т.п., использующие факт наличия неоткомпилированного кода в памяти в момент исполнения.
------------------ Лень - это неосознанная мудрость. |
Re: Печать текста программы | |
---|---|
346 Сообщений: 142 Откуда: Ростовская обл. Дата регистрации: 08.09.2006 |
а если уже запустить на выполнение откомпилированный файл selfprint.FXP то текста уже нет..
|
Re: Печать текста программы | |
---|---|
Foxtrot Сообщений: 3408 Откуда: Куда: Дата регистрации: 25.04.2003 |
сохраните и запустите ;)
------------------ Мойте ноги, моя ноги вы моете и руки Исправлено 1 раз(а). Последнее : Foxtrot, 11.12.08 13:17 |
Re: Печать текста программы | |
---|---|
Zakharov Автор Сообщений: 25 Откуда: Киев Дата регистрации: 09.12.2008 |
Вообще-то мне казалось, что фокс - это тоже компилируемый язык. По крайней мере у него (в отличие от других языков) есть макрооперации. Может так полУчится?
И все-таки просьба. Объясните неумелому (или дайте ссылку): ну как взять цитату, прикрепить файл и т.д.:puke: ------------------ Не умножайте сущностей свех необходимого (Принцип Оккама) |
Re: Печать текста программы | |
---|---|
ssa Сообщений: 13008 Откуда: Москва Дата регистрации: 23.03.2005 |
Сильное заблуждение. Компиляцией в нем называется не первод в машинные коды, а перевод в некоторый промежуточный интерпертируемый код. Цитата:Это как раз свойства интерперетаторов, а не чистых копиляторов. Как раз у компиляторов этого и нет. Цитата:Внимательно смотришь на надписи и картиночки над окном редактирования своего ответа. Для начала можешь нажать на ссылку Цитировать в верхней части этого сообщения. ------------------ Лень - это неосознанная мудрость. |
© 2000-2024 Fox Club  |