Рассказ с темной стороны Луны
Мы: Почему бы вам просто не перекомпилировать программу на новом оборудовании?
Они: Мы не можем. Исходный код утерян.
Мы: Как обычно! Что делает программа? Есть ли у вас какая-нибудь документация?
Они: В руководстве упоминается, что документация находится в исходном коде.
Мы: Руководство — это хорошо. Что там сказано?
Они: Только одна строка: «Смотрите исходный код для получения дополнительной информации.»
Мы: Ах! Что вы знаете о программе?
Они: Кажется, она берет простой текст, похожий на тот, что в английском словаре, и выводит его после некоторой модификации.
Мы: Какого рода модификация?
Они: Она удаляет любой символ, который не является строчной буквой, но сохраняет пробелы, как видно на входе.
Мы: У вас есть пример входных/выходных данных?
Они: Много. Вот один. (смотрите следующий раздел.)
Мы: Это довольно мало! Вы пробовали на чем-то большем?
"EOF"
Они: Она работает с любым текстом, если строки не превышают восьмидесяти символов в ширину. Кажется, ей не мешает работать с длинными документами. Но она завершает работу, как только видит последовательность (без двойных кавычек.)
"dd"
Один из них: Не забудьте рассказать им о штуковине.
"dd"
Мы: О какой штуковине?
"d"
"p"
Они: Всякий раз, когда она видит пару строчных букв, одну сразу за другой, она заменяет их на .
Мы: Почему?
Они: Кто знает? Она просто так делает!
"ddd"
"dddd"
Мы: А что насчет и ? Как она ведет себя тогда?
"dddd"
"ddd"
Они: Где в английском вы найдете или даже ? Вы не слушали?
Мы: Ой. Мы будем внимательнее. Что-нибудь еще?
"vv"
Другой из них: Есть еще штуковина.
"vv"
Мы: Что насчет ?
"vv"
"m"
Они: Каждый заменяется на .
Еще один из них: Нет, подождите! Это была проблема с принтером. Это не имело отношения к программе. Помните?
"vv"
Они: О, точно. Забудьте о штуковине.
"dd"
Мы: А что насчет штуковины? Это тоже была проблема с принтером?
Они: Нет. Это была программа.
Мы: Что еще?
"ei"
"ie"
Они: Последнее. Кажется, она заменяет каждое на .
Мы: Каждое из них?
"c"
Они: За исключением, если оно идет сразу после , тогда оно остается как есть.
Мы: Логично. Это все, верно?
"pink"
"floyd"
Они: Нет, мы только что вспомнили еще одну вещь: она заменяет последовательность на в любом месте текста.
Мы: Что?! Кто написал эту программу? Зачем она вам вообще нужна?
Они: Мы думаем, что это увеличит наши шансы поехать в Банф в апреле 2008 года, если мы все сделаем правильно.
Мы: Да, конечно.