Вычислительное мышление: Метод решения сложных задач | страница 90



. Секретный сигнал состоит в том, что, когда ассистент указывает на этот объект, вы понимаете, что следующий (назовем его ) и будет избранным. Ваш общий секрет — алгоритм, приведенный на рис. 62. Конечно, нужно заранее договориться, что вы обозначите, как .



Если вас попросят снова показать фокус и попытаться угадать серию предметов, закономерность станет слишком очевидной. С этим легко справиться, применив немного алгоритмического мышления и расширив алгоритм. Каждый раз, выполняя фокус, вы используете разные предметы, прежде чем указать на выбранный, — например, лампу, потом ковер, потом выключатель. Теперь меняется каждый раз. Код для совместного использования может выглядеть примерно как на рис. 63.



Конечно же, перед началом вам надо убедиться, что у вас есть лампа, ковер и выключатель. Вы указываете на лампу, пытаясь угадать первый предмет (когда номер попытки — 1), ковер при угадывании второго предмета (когда номер попытки — 2) и выключатель для третьего раза (когда номер попытки — 3). Последнее утверждение по умолчанию — на случай, если вас попросят найти четвертый, пятый или даже шестой предмет. Некоторых людей невозможно удовлетворить! К этому вы не готовы, но правильное должно обеспечить варианты на любой случай. Поэтому у вас есть отговорка по умолчанию, если кто-то из зрителей будет настаивать на продолжении после трех заготовленных чудес ясновидения: «Мои экстрасенсорные возможности истощены. Прошу прощения, я не могу продолжать».

Если образец подводит, что тогда получится?

Этот алгоритм в большинстве случаев позволит вам развлечь аудиторию, но иногда возникают проблемы. Логика наших рассуждений должна быть безупречной в каждой детали. Возможно, вы подумаете, что охватили все варианты, но если вторым предметом, выбранным аудиторией, окажется красивый ковер, который вы хотели использовать как второй сигнал? В алгоритме появляется проблема. Незапланированная в нашем алгоритме неожиданность. Получается, надо показать на ковер — а потом снова показать на ковер! Это будет выглядеть не слишком-то волшебно.

Конечно, во время фокуса вы как человек будете импровизировать на ходу и выкручиваться с помощью юмора — например, действительно два раза покажете на ковер и пошутите на эту тему. Но если вы запрограммировали робота-фокусника, который точно следует алгоритму, то все будет выглядеть глупо. Робот сможет пошутить только в том случае, если вы предусмотрели возможные проблемы и добавили в алгоритм код для соответствующих шуток.