![]() |
|
|
![]()
|
|
| val |
|
|||
![]() Program developer ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 992 Регистрация: 14.1.2003 Где: г. Киев Репутация: 1 Всего: 7 |
Уважаемая публика...
Странная задачка мне вот попалась... Каков должен быть алгоритм программы, которая выводит текст самой себя? В Бейсике есть такой оператор, кажется, LIST, он как раз решает эту задачку... А вот как он работает не понятно... -------------------- Терпимость - величайшее благо человечества... Ярчайший признак интеллекта – постоянно хорошее настроение… |
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 33 Всего: 110 |
а в чем проблема?
при исполнении программы на Бейсике файл уже загружен в память и это - не исполняемый файл, а файл с исходниками (ведь он - интерпретатор) команда LIST просто читает строки из соответствующей области памяти... -------------------- qqq |
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 33 Всего: 110 |
не знаю как нормальные люди это делают, но я просто делал дополнительный массив, который содержал строки программы, а потом выводил их дважды: как элементы массива и как строки программы... -------------------- qqq |
|||
|
||||
| val |
|
|||
![]() Program developer ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 992 Регистрация: 14.1.2003 Где: г. Киев Репутация: 1 Всего: 7 |
Это решение подойдет, если ты запрограммировал копирование строк прорграммы из памяти в этот массив. И еще... Если, к примеру, если программа написана на С, то выводиться должна эта же С-программа... Насколько я понимаю, во время выполнения в памяти лежит ассем. вариант программы... -------------------- Терпимость - величайшее благо человечества... Ярчайший признак интеллекта – постоянно хорошее настроение… |
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 33 Всего: 110 |
я специально сделал два ответа, чтобы было ясно, что это - ответы на два разных вопроса
1-й ответ - на вопрос о команде LIST 2-й ответ - решение описанной задачки на компиляторах...
а в этот массив нужно ручками прописать строки твоей программы т.е. в самих исходниках программы уже будет дублирование (т.к. строки будут в main и в массиве) а на экране дублирование нуэно будет сделать с помощью вывода содержимого массива дважды. Это сообщение отредактировал(а) maxim1000 - 21.10.2003, 12:38 -------------------- qqq |
|||
|
||||
| val |
|
|||
![]() Program developer ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 992 Регистрация: 14.1.2003 Где: г. Киев Репутация: 1 Всего: 7 |
Это решение не подходит по причине изботочности в коде данной программы. Были более интересные решения такие как инклюдить тект программы в стоку, но... не то... -------------------- Терпимость - величайшее благо человечества... Ярчайший признак интеллекта – постоянно хорошее настроение… |
|||
|
||||
| val |
|
|||
![]() Program developer ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 992 Регистрация: 14.1.2003 Где: г. Киев Репутация: 1 Всего: 7 |
Вроде бы решали эту задачку с помощью макросов, но как...?!
-------------------- Терпимость - величайшее благо человечества... Ярчайший признак интеллекта – постоянно хорошее настроение… |
|||
|
||||
| maxim1000 |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 33 Всего: 110 |
это в каком смысле избыточность? для компилятора "строковая константа" и строка программы - никак несвязанные вещи
вообще-то это "но... не то..." хорошо бы формализовать, т.е. наложить какие-то ограничения а то ведь, если без ограничений, то можно просто открыть файл с исходником и вывести его на экран -------------------- qqq |
||||
|
|||||
| stab |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1839 Регистрация: 1.1.2003 Репутация: нет Всего: 48 |
Выводит без сохранения табуляции, но это можно поправить, просто лень было. Писалось еще в универе на TP
-------------------- 6, 6, 6 - the number of the beast. |
|||
|
||||
| setq |
|
|||
|
Unregistered |
http://home.planet.nl/~faase009/Signindex.html
насколько я понял, первые N программ работают по принципу "избыточности", изложенному выше. но я не углублялся особенно. может там ещё чего есть другое... искренне ваш, qset |
|||
|
||||
| val |
|
|||
![]() Program developer ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 992 Регистрация: 14.1.2003 Где: г. Киев Репутация: 1 Всего: 7 |
Понятно... Тема исчерпана...
-------------------- Терпимость - величайшее благо человечества... Ярчайший признак интеллекта – постоянно хорошее настроение… |
|||
|
||||
| val |
|
|||
![]() Program developer ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 992 Регистрация: 14.1.2003 Где: г. Киев Репутация: 1 Всего: 7 |
Всем спасибо...
-------------------- Терпимость - величайшее благо человечества... Ярчайший признак интеллекта – постоянно хорошее настроение… |
|||
|
||||
![]()
|
| Правила форума "Алгоритмы" | |
|
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Алгоритмы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |