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



как часть алгоритма проверки. Вы знаете, что здесь должно быть, и проверяете соответствие. Некоторые программы в системах с особыми требованиями к безопасности осуществляют схожую проверку. Программисты включают в код утверждения, которые являются истинными в момент работы программы в этой точке. Если утверждение неожиданно оказывается ложным, можно запустить специальный код, чтобы разобраться с проблемой. Правильный ввод чисел играет большую роль, и, если люди вводят неверные числа, очень важно, чтобы программа не игнорировала их, но указывала на проблему и давала человеку возможность исправить ошибку (в отличие от нашего фокуса). Это лишь некоторые из многочисленных способов писать надежные программы, чтобы избежать катастроф.

Поиск по запаху: фокус с пахнущей картой

Вот еще один фокус, который кажется невозможным и при этом весьма увлекателен. Чтобы его показать, нужно найти исключение из известной вам математической закономерности, одновременно скрывая его от аудитории. Вы используете способность «находить карту по запаху человека, выбравшего ее». Очевидно, показывая этот фокус, нужно действовать очень тактично!

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

Попросите зрителя произвольно выбрать и запомнить одну из карт в стопке с сильным запахом и не говорить вам. Потом зрителю нужно положить ее в стопку без запаха. Вы тасуете эту стопку, а потом снова нюхаете каждую карту. Только по запаху вы можете верно указать карту, которую зритель спрятал в стопке непахнущих карт.

Секретный алгоритм без запаха

Секрет фокуса — обеспечить неочевидную для других закономерность (в разнице между пахнущими и не пахнущими картами) и увидеть исключения из этой закономерности. Здесь для этого используются простые числа. Вы кладете все карты, соответствующие простым числам, в одну стопку, а остальные — в другую. Пусть в нашем случае туз имеет номер 1, валет — 11, дама — 12, а король — 13. Чтобы отделить простые числа, вы кладете 2, 3, 5, 7, валета и короля в одну стопку, а остальные карты — в другую. Поскольку 1 по определению не относится к простым числам, туз отправляется во вторую стопку. Конечно, запах здесь совершенно ни при чем. Вы учитываете достоинство карт и делите колоду по принципу, известному только вам.