4–9Информатика

Фокус с карточками: двоичная система на пальцах

Этот фокус удивляет и детей, и взрослых: вы показываете пять карточек, зритель говорит, на каких есть его число, и вы сразу называете задуманное. Никакой магии, только двоичная система счисления, на которой работают все компьютеры. Делаем карточки, показываем фокус и объясняем, почему он работает.

Для 4–9 классов, информатика.

Фокус

Приготовьте пять карточек. На каждой выписаны числа от 1 до 31 по особому правилу. Зритель задумывает число, а вы по очереди показываете карточки и спрашиваете: «Есть здесь твоё число?» Затем складываете первые, самые маленькие числа тех карточек, на которых ответ был «да». Сумма и есть задуманное число.

  • Карточка 1: 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31.
  • Карточка 2: 2, 3, 6, 7, 10, 11, 14, 15, 18, 19, 22, 23, 26, 27, 30, 31.
  • Карточка 3: 4, 5, 6, 7, 12, 13, 14, 15, 20, 21, 22, 23, 28, 29, 30, 31.
  • Карточка 4: 8–15 и 24–31.
  • Карточка 5: 16–31.

Пример: зритель задумал 21. Он скажет «да» на карточках 1, 3 и 5. Первые числа этих карточек 1, 4 и 16. Их сумма 1 + 4 + 16 = 21.

Почему это работает

Любое число можно записать как сумму разных степеней двойки: 1, 2, 4, 8, 16. Причём единственным способом. Например, 21 = 16 + 4 + 1, а 30 = 16 + 8 + 4 + 2.

Это и есть двоичная запись числа. Каждая степень двойки это разряд, а цифра 1 или 0 показывает, входит ли она в сумму. Число 21 в двоичной системе 10101: есть 16, нет 8, есть 4, нет 2, есть 1.

21 = 1 · 16 + 0 · 8 + 1 · 4 + 0 · 2 + 1 · 1 = 10101₂

На каждой карточке собраны все числа, у которых единица в определённом разряде. На первой те, где есть 1, то есть все нечётные. На второй те, где есть 2. На пятой все, где есть 16. Отвечая «да» или «нет», зритель на самом деле диктует вам двоичную запись своего числа, а вы переводите её в десятичную.

Как сделать карточки самим

Задача

Составьте карточку 4 для чисел от 1 до 31. Какие числа на неё попадут и почему?

Карточка 4 отвечает за разряд 8: на неё попадают все числа, в сумме которых есть 8.

Это числа от 8 до 15 (8 + 0…7) и от 24 до 31 (16 + 8 + 0…7).

Проверим 13: 13 = 8 + 4 + 1, есть 8, значит, на карточке. 18 = 16 + 2, нет 8, не на карточке.

Ответ: 8–15 и 24–31, всего 16 чисел.

Каждая карточка содержит ровно половину чисел: 16 из 32 возможных, ведь в каждом разряде у половины чисел стоит 1. Удобно составить карточки на компьютере: программа на Python перебирает числа и проверяет нужный бит.

for k in range(5): card = [n for n in range(1, 32) if n >> k & 1] print(card)

Здесь n >> k & 1 сдвигает двоичную запись числа на k разрядов вправо и проверяет последний бит. Если он равен 1, число попадает на карточку.

Как усилить фокус

Добавьте шестую карточку с первым числом 32, и фокус будет работать для чисел от 1 до 63. Семь карточек дадут 127, десять уже 1023. Каждая новая карточка удваивает диапазон: так растут степени двойки.

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

Задача

Сколько карточек нужно, чтобы угадать любое число от 1 до 1000?

Нужно, чтобы 2 в степени k было больше 1000.

2⁹ = 512 мало, 2¹⁰ = 1024 хватает.

Ответ: 10 карточек.

Двоичный счёт на пальцах

Тот же принцип позволяет считать на пальцах не до 10, а до 1023. Пусть каждый палец обозначает разряд: большой палец правой руки 1, указательный 2, средний 4, безымянный 8, мизинец 16, и дальше на левой руке 32, 64, 128, 256, 512. Поднятый палец единица, загнутый ноль.

Чтобы показать 7, поднимите большой, указательный и средний пальцы: 1 + 2 + 4. Чтобы показать 1023, поднимите все десять. Попробуйте посчитать до 31 на одной руке: это отличная тренировка двоичной системы, и после неё перевод чисел на экзамене кажется простым.

При чём тут компьютер

Компьютер хранит всё в двоичном виде: каждый бит это лампочка, включённая или выключенная. Числа, буквы, картинки и музыка в итоге превращаются в длинные ряды нулей и единиц. Фокус с карточками помогает почувствовать, как это работает.

Перевод чисел в двоичную систему встречается в ОГЭ и ЕГЭ по информатике, а двоичные «фокусы» вроде этого любят на олимпиадах. Как переводить числа быстро, рассказали в статье о системах счисления, а ещё больше чисел-фокусов собрано в статье о математических фокусах.

Разберём на занятии

Занимаемся по всем школьным предметам с 4 по 11 класс: живые занятия, общая доска и домашка, которую проверяет тот же преподаватель.

Первое занятие бесплатное: можно посмотреть формат вместе с ребёнком и решить, подходит ли он.

Частые вопросы

Почему компьютеры используют именно двоичную систему?

Потому что два состояния проще всего надёжно различать: ток есть или нет, заряд есть или нет. Если бы состояний было десять, малейшая помеха путала бы соседние цифры.

С какого возраста можно показывать этот фокус?

Показывать можно с 6–7 лет, когда ребёнок умеет складывать. Объяснение через степени двойки понятно с 4–5 класса, а в информатике двоичную систему проходят в 7–8 классе.