Читаем Игры с Чипом полностью

Дорогие ребята! Те из вас, кто выписывал «Пионер" в прошлом году, уже знакомы с Чипом и Сережей. Для наших новых читателей скажем, что Сережа — это обыкновенный мальчик, а его друг Чип — маленький волшебный человечек, который выпрыгнул как-то раз из Сережиного калькулятора. Чип научил Сережу многим интересным вещам: как считать на пальцах до 1000, как помочь царевичу выбрать невесту, как вытащить из лужи барона Мюнхгаузена, как провести конкурс поющих поросят... Да всего и не упомнишь! Эти игры помогают понять основы информатики — новой науки, которая нужна тем, что хочет управлять компьютерами. А так как это придется делать всем в следующем веке, то лучше начать сейчас. Поэтому Чип и Сережа приглашают вас играть с ними вместе.

<p>Сказки восточного базара</p>

— Расскажи мне, пожалуйста, сказку, — попросил Сережа Чипа, — только пострашней и потаинственней, вроде арабских сказок.

— Арабские сказки, говоришь? — Чип задумался. — Что же, могу и арабскую сказку, только сказка эта будет не простая, а рекурсивная, и рассказывать ее будет бродячий дервиш на восточном базаре, чтобы заработать себе горсть фиников и глоток воды.

— А что такое рекурсивная сказка, это вроде рекурсивной программы? — спросил Сережа.

— Это сказка, которая внутри себя содержит такую же сказку.

— Как это может быть?

— Вот сейчас увидишь. Итак...

РЕКУРСИВНАЯ АРАБСКАЯ СКАЗКА

В сказке три персонажа: СТРАННИК, ВОЛШЕБНИКи ЗВЕРЬ.

Еслиэту сказку рассказывает дервиш,

ТоСТРАННИК — это мулла, ВОЛШЕБНИК — это джинн [6], а ЗВЕРЬ — это лев.

Еслиже рассказывает мулла.

ТоСТРАННИК — это дервиш. ВОЛШЕБНИК — это ифрит. а ЗВЕРЬ — это носорог.

Однажды СТРАННИК ехал на осле по пустыне. Солнце уже высоко поднялось над барханами, и от жары у СТРАННИКА разыгралась великая жажда. «О Аллах! — воскликнул он. — Я отдал бы жизнь за кувшин воды». Эти слова услышал пролетавший мимо ВОЛШЕБНИК. Тут же перед СТРАННИКОМ появился кувшин воды и свирепый ЗВЕРЬ. Великий страх овладел СТРАННИКОМ, колени его ослабели, и, упав ниц на горячий песок, он взмолился: «О могучий зверь! Подожди, не терзай меня, выслушай сначала мою сказку». «Так и быть, — согласился ВОЛШЕБНИК в образе ЗВЕРЯ, — можешь рассказать мне одну сказку». «Одну, о мудрый ЗВЕРЬ, только одну!» И СТРАННИК рассказал РЕКУРСИВНУЮ АРАБСКУЮ СКАЗКУ.

ВОЗВРАТ

— Возврат? — переспросил Сережа. — Это куда возврат, в начало, что ли?

— Да нет, — Чип недовольно поморщился. — Ты что, забыл, что такое возврат из подпрограммы? Возврат — это значит конец этойподпрограммы и продолжение той, которая работала раньше, пока не началась эта. А в нашем случае это значит, что очередной сказочник замолчит, а тот, кто про него рассказывал, продолжит дальше.

— Погоди, погоди, тут какой-то подвох, — задумчиво сказал Сережа. — Про кого же в сказке речь? Ты сказал, что эту сказку рассказывает дервиш, значит, речь идет про муллу, джинна и льва. Но дальше в этой сказке странник, то есть мулла, рассказывает ту же самую сказку. Про кого же он рассказывает?

— Но в начале сказки ведь было ясно сказано, что если мулла рассказывает эту сказку, то речь идет про дервиша, ифрита и носорога.

Перейти на страницу:
Нет соединения с сервером, попробуйте зайти чуть позже