:: Игры Разума
Печать текста программы
Zakharov
Автор

Сообщений: 25
Откуда: Киев
Дата регистрации: 09.12.2008
:puke:Здравствуйте Все!
Вообще первый раз на форуме.
Однвко интересная задача. (может уже решена?)
Задача древняя: Написать код программы (язык не важен) который печатает свой собственный
текст. Причем условия жесткие:
1.Тескст должен совпадать 1Х1
2.Нельзя использовать файловый ввод-вывод.
3.Нельзя использовать ссылки.
В общем это вроде барона Мюнхаузена - сам себя за волосы.
Когда-то прочитал что на Basic такая программа заняла 60 с чем-то операторов (Техника-Молодежи за 90-е года). Однако текста не приведено. Даже сам не знаю как тут подступиться.
Ratings: 0 negative/0 positive
Re: Печать текста программы
346

Сообщений: 142
Откуда: Ростовская обл.
Дата регистрации: 08.09.2006
проясните то есть печать типа на печатной машинке нажал букву тут же отпечаталась?
Ratings: 0 negative/0 positive
Re: Печать текста программы
Zakharov
Автор

Сообщений: 25
Откуда: Киев
Дата регистрации: 09.12.2008
Да хоть на принтере, хоть в файл. Пусть хоть вся программа состоит из операторов печати. Только бы она отпечатала свой собственный текст.
Ratings: 0 negative/0 positive
Re: Печать текста программы
Влад Колосов

Сообщений: 22664
Откуда: Ростов-на-Дону
Дата регистрации: 05.05.2005
Без файлового ввода вывода вообще никак, т.к. текст программы находится в файле изначально. Кроме того, скомпилированный текст должен производить дизассемблирование себя, что ли? Что-то в постановке задачи некорректно.


------------------
Совершенство - это не тогда, когда нельзя
ничего прибавить, а тогда, когда нечего убавить.
Ratings: 0 negative/0 positive
Re: Печать текста программы
346

Сообщений: 142
Откуда: Ростовская обл.
Дата регистрации: 08.09.2006
wait window 'Печать текста самой программы в файл pp.txt' nowait
copy file pp.prg to pp.txt
quit
Ratings: 0 negative/0 positive
Re: Печать текста программы
Влад Колосов

Сообщений: 22664
Откуда: Ростов-на-Дону
Дата регистрации: 05.05.2005
Наверное, сложность в том, что получаем рекурсию, если попытаемся написать программу в виде
print "print "print "print"""


------------------
Совершенство - это не тогда, когда нельзя
ничего прибавить, а тогда, когда нечего убавить.
Ratings: 0 negative/0 positive
Re: Печать текста программы
Zakharov
Автор

Сообщений: 25
Откуда: Киев
Дата регистрации: 09.12.2008
wait window 'Печать текста самой программы в файл pp.txt' nowait
copy file pp.prg to pp.txt
quit

Смылсл именно в том чтобы не использовать внешнюю память.
:puke:
Ratings: 0 negative/0 positive
Re: Печать текста программы
ssa

Сообщений: 13007
Откуда: Москва
Дата регистрации: 23.03.2005
Zakharov
wait window 'Печать текста самой программы в файл pp.txt' nowait
copy file pp.prg to pp.txt
quit

Смылсл именно в том чтобы не использовать внешнюю память.
:puke:
Ну поменяй to pp.txt на to prn


------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: Печать текста программы
346

Сообщений: 142
Откуда: Ростовская обл.
Дата регистрации: 08.09.2006
что такое внешняя память?
Ratings: 0 negative/0 positive
Re: Печать текста программы
Zakharov
Автор

Сообщений: 25
Откуда: Киев
Дата регистрации: 09.12.2008
В данном случае внешняя память - это текст самой программы, которая берется из файла. Представте себе что программа без исходника.
И я честно предупредил, что решения не знаю!
Однако ВДРУГ!
Тогда с меня
Ratings: 0 negative/0 positive
Re: Печать текста программы
ssa

Сообщений: 13007
Откуда: Москва
Дата регистрации: 23.03.2005
Zakharov
В данном случае внешняя память - это текст самой программы, которая берется из файла. Представте себе что программа без исходника. И я честно предупредил, что решения не знаю!
Однако ВДРУГ!
Тогда с меня
Батенька, Бейсковской программы без исходника, да еще в те времена, не может быть в принципе.
Текст программы - это ее исходник, в каком бы виде и месте он ни находился.
Для откомпилированной программы без исходника его можно получить (далеко не всегда) только декомпиляцией и только после этого распечатать.
Не надо ставить некорректные условия задачи.


------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: Печать текста программы
Zakharov
Автор

Сообщений: 25
Откуда: Киев
Дата регистрации: 09.12.2008
Лень - это неосознанная мудрость.
С этим я согласен полностью!
Но смысл задачи именно в том, чтобы программа печатала свой собственный текст (без всяких файлов).
Да, пожалуйста, подскажите как взять цитату (или ссылку какую-нибудь дайте), а то я вправду не умею.
Ratings: 0 negative/0 positive
Re: Печать текста программы
ssa

Сообщений: 13007
Откуда: Москва
Дата регистрации: 23.03.2005
Zakharov
Но смысл задачи именно в том, чтобы программа печатала свой собственный текст (без всяких файлов).
Свой собственный текст кроме как в файле взять негде. Его нигде больше нет.


------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: Печать текста программы
Влад Колосов

Сообщений: 22664
Откуда: Ростов-на-Дону
Дата регистрации: 05.05.2005
Да нет, есть. Как я написал. Но получится бесконечная рекурсия.

Пусть программа состоит из слова Print.
Print
Тогда, чтобы вывести текст этой программы на консоль, надо написать
Print "Print"

Это строку можно скомпилировать в экзешник и увидеть "Print" (Наша изначальная программа) на экране.

Но если мы напечатаем так, то это будет неверно, т.к. текст программы изменился и надо писать уже
Print "Print "Print""
Тут текст опять меняется, и - до бесконечности.

Надо придумать, как прервать рекурсию


------------------
Совершенство - это не тогда, когда нельзя
ничего прибавить, а тогда, когда нечего убавить.




Исправлено 1 раз(а). Последнее : Влад Колосов, 11.12.08 12:43
Ratings: 0 negative/0 positive
Re: Печать текста программы
leonid

Сообщений: 3204
Откуда: Рига
Дата регистрации: 03.02.2006
А такое решение пойдет?
Ratings: 0 negative/0 positive
Re: Печать текста программы
ssa

Сообщений: 13007
Откуда: Москва
Дата регистрации: 23.03.2005
Похоже, условия задачи некорректны для компилируемых языков. Интерпретируемые языки оставляют шансы использовать какие-нибудь особенности интерпертатора, его обработчика ошибок и т.п., использующие факт наличия неоткомпилированного кода в памяти в момент исполнения.


------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: Печать текста программы
346

Сообщений: 142
Откуда: Ростовская обл.
Дата регистрации: 08.09.2006
а если уже запустить на выполнение откомпилированный файл selfprint.FXP то текста уже нет..
Ratings: 0 negative/0 positive
Re: Печать текста программы
Foxtrot

Сообщений: 3408
Откуда: Куда:
Дата регистрации: 25.04.2003
сохраните и запустите ;)
?FILETOSTR(LEFT(SYS(16), LEN(SYS(16))-3)+"PRG")


------------------
Мойте ноги, моя ноги вы моете и руки




Исправлено 1 раз(а). Последнее : Foxtrot, 11.12.08 13:17
Ratings: 0 negative/0 positive
Re: Печать текста программы
Zakharov
Автор

Сообщений: 25
Откуда: Киев
Дата регистрации: 09.12.2008
Вообще-то мне казалось, что фокс - это тоже компилируемый язык. По крайней мере у него (в отличие от других языков) есть макрооперации. Может так полУчится?

И все-таки просьба. Объясните неумелому (или дайте ссылку): ну как взять цитату, прикрепить файл и т.д.:puke:


------------------
Не умножайте сущностей свех необходимого (Принцип Оккама)
Ratings: 0 negative/0 positive
Re: Печать текста программы
ssa

Сообщений: 13007
Откуда: Москва
Дата регистрации: 23.03.2005
Zakharov
Вообще-то мне казалось, что фокс - это тоже компилируемый язык.
Сильное заблуждение. Компиляцией в нем называется не первод в машинные коды, а перевод в некоторый промежуточный интерпертируемый код.
Цитата:
По крайней мере у него (в отличие от других языков) есть макрооперации.
Это как раз свойства интерперетаторов, а не чистых копиляторов. Как раз у компиляторов этого и нет.
Цитата:
Может так полУчится?
И все-таки просьба. Объясните неумелому (или дайте ссылку): ну как взять цитату, прикрепить файл и т.д.:puke:
Внимательно смотришь на надписи и картиночки над окном редактирования своего ответа.

Для начала можешь нажать на ссылку Цитировать в верхней части этого сообщения.


------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 3 (Гостей: 3)

© 2000-2024 Fox Club 
Яндекс.Метрика