Глава № 7. Если N = 6, то переходите к главе № 10, иначе читайте дальше.
Глава № 8. ЖИВУТ ДРУЖНО ВМЕСТЕ. Дальше опять, как у нас.
Глава № 9. Возвращайтесь к главе № 4 и читайте следующие за ней главы.
Глава № 10. ПРИШЕЛ МЕДВЕДЬ И РАЗДАВИЛ ТЕРЕМОК.
Глава №11. Конец сказки.
— Ну, теперь давай играть в компьютер, — сказал Чип, — вот дошел я до главы № 7, N у меня сейчас 2, потому что в третьей главе я запомнил, что N = 1, а в четвертой прибавил еще 1. В главе № 7 я читаю дальше, так как N у меня 2, а не 6. А в главе № 9 я возвращаюсь к главе 4, прибавлю к N единицу, иду к главе 5. А вот тут внимание! Написано, что пришел жилец № 2, а ведь надо уже № 3.
— Да, — вступился Сережа. — но она написала в скобках «затем следующий жилец».
— Что значит следующий? Следующий за № 2 — это № 3, но потом ведь нужен будет № 4 и так далее. Непонятно написано, и компьютер ошибется, а виновата будет Аня. Ей надо было просто написать:
Глава № 5. ПРИШЕЛ ЖИЛЕЦ № N.
Кстати, можно было и про мышку не писать вначале, а вместо этого в главе № 3 написать, что сейчас N = 0, вместо 1. Видишь, тогда счет начнется с единицы, и в главе № 5 придет мышка. А в главе 2 можно написать: «СТОИТ ТЕРЕМ-ТЕРЕМОК, ОН НИ НИЗОК, НИ ВЫСОК», или как там в этой сказке? Но это уже необязательно. Чтобы Анина программа правильно работала, достаточно исправить только главу № 5, как я сказал.
— А все-таки Аня молодец, — сказал Сережа, — почти правильно написала, а ей никто не помогал. Чип, как ты думаешь, почему нам написали так много программ про теремок, а про красную шапочку так мало?
— Наверно, мы слишком трудную сказку предложили, — ответил Чип. — Сказка «Теремок» похожа на «Колобок» и на «Репку», а «Красная Шапочка» совсем другая. Но, чтобы ребята не думали, что сочинить сказку-программу «Красная Шапочка» так трудно, я попробую сейчас это сделать. Так... Готово. Но сначала нужны две подпрограммы:
Подпрограмма «У ДВЕРЕЙ (гость)».
1. КТО ТАМ?
2. ЭТО Я, К. Ш., ПРИНЕСЛА ГОРШОЧЕК МАСЛА.
3. ДЕРНИ, ДЕТКА, ЗА ВЕРЕВОЧКУ, ДВЕРЬ И ОТКРОЕТСЯ.
4. Если гость — волк, то он съедает бабушку.
5. Возврат.
Подпрограмма «ДИАЛОГ (глаза, видеть)»
1. БАБУШКА, ЗАЧЕМ У ТЕБЯ ТАКИЕ БОЛЬШИЕ ГЛАЗА?
2. А ЭТО, ЧТОБЫ ЛУЧШЕ ТЕБЯ ВИДЕТЬ.
3. Возврат.
Сказка-программа «КРАСНАЯ ШАПОЧКА»
1. Прочтите сказку Перро «Красная Шапочка» до того места, как волк стучится в дверь бабушкиного домика.
2. У ДВЕРЕЙ (волк).
3. НИЧЕГО НЕ ПОДОЗРЕВАЮЩАЯ К. Ш. СТУЧИТСЯ В БАБУШКИНУ ДВЕРЬ.
4. У ДВЕРЕЙ (К. Ш.).
5. ВОЛК ЛЕЖИТ В КРОВАТИ, ПЕРЕОДЕТЫЙ БАБУШКОЙ.
6. ДИАЛОГ (глаза, видеть).
7. ДИАЛОГ (уши, слышать).
8. ДИАЛОГ (зубы, съесть).
9. ВОЛК СЪЕДАЕТ К. Ш.
10. Если хотите, придумайте счастливый конец сами.
11. Конец.
— Молодец, Чип, здорово придумал, но это действительно сложная сказка. Давай теперь на прощание подарим что-нибудь всем ребятам, ведь наступает Новый год!
— У меня как раз есть красивая картинка, ее нарисовал компьютер. Это советская космическая станция «ВЕГА», которая пролетела мимо Венеры и встретилась с кометой Галлея. Компьютер изобразил эту встречу.
С Новым годом, ребята!
Сказки восточного базара
— Расскажи мне, пожалуйста, сказку, — попросил Сережа Чипа, — только пострашней и потаинственней, вроде арабских сказок.
— Арабские сказки, говоришь? — Чип задумался. — Что же, могу и арабскую сказку, только сказка эта будет не простая, а рекурсивная, и рассказывать ее будет бродячий дервиш на восточном базаре, чтобы заработать себе горсть фиников и глоток воды.
— А что такое рекурсивная сказка, это вроде рекурсивной программы? — спросил Сережа.
— Это сказка, которая внутри себя содержит такую же сказку.
— Как это может быть?
— Вот сейчас увидишь. Итак...
РЕКУРСИВНАЯ АРАБСКАЯ СКАЗКА
В сказке три персонажа: СТРАННИК, ВОЛШЕБНИК и ЗВЕРЬ.
Если эту сказку рассказывает дервиш,
То СТРАННИК — это мулла, ВОЛШЕБНИК — это джинн[6], а ЗВЕРЬ — это лев.
Если же рассказывает мулла.
То СТРАННИК — это дервиш. ВОЛШЕБНИК — это ифрит. а ЗВЕРЬ — это носорог.