Планета Роботов: школа хранителей
Три кирпичика: И, ИЛИ, НЕ
Робот привёл меня в здание с вывеской: «Школа хранителей».
— Здесь учат тех, кто будет охранять наш Музей чисел! — сказал
робот. — А самый главный предмет — логика. Без неё хранитель не
хранитель!
В классе на доске горели лампочки, и старый-престарый робот-учитель
(как оказалось — Главный хранитель музея) объяснял трём маленьким
роботам:
— О, у нас гость с Земли! — улыбнулся учитель, заметив меня. —
Садись, кот, послушай. Это самый важный урок на нашей планете!
— Запомните, дети: вся наша цивилизация держится на трёх словах:
И, ИЛИ и НЕ. Это кирпичики, из которых построено всё.
Смотрите. — Он щёлкнул двумя рубильниками. — И: лампочка
загорится, только если нажаты оба выключателя. Один нажал — не
горит!
— А ИЛИ? — спросил маленький робот.
— ИЛИ: хватит и одного! Щёлкни левый или правый — лампочка
вспыхнет. А НЕ — это перевёртыш: лампочка горит, пока кнопку
НЕ нажали. Нажал — погасла!
Маленький робот захлопал лампочками:
— Так из этих трёх можно построить… вообще всё?!
— Всё! — кивнул учитель. — Любое число, любое сложение, даже целые
города-вычислители. Захочешь число побольше — соберёшь побольше
кирпичиков: И, ИЛИ, НЕ. Пальцы у нас сменные, а логика — одна на всех!
Экзамен: как рассудить чемпионат
— Но сперва — экзамен! — Главный хранитель поставил на стол три
кнопки. — Через неделю у нас Большой чемпионат по сборке мостов.
Как узнать, кто победил? Вы — судьи!
— Мы? — удивились маленькие роботы.
— Представьте: три судьи стоят у финиша. Каждый жмёт свою кнопку,
если считает, что мост собран правильно. Когда зажигать лампочку
«Победитель!»? — спросил учитель.
— Если хотя бы один нажал? — предложил один робот.
— Ой-ой! — покачал лампочкой учитель. — А если он ошибся или ему
конфету дали? Нет. Судьи должны решить все вместе: один, два,
три — и только если нажали все три — победитель настоящий.
Какой это кирпичик?
— И! — хором ответили роботы.
— Верно! — И учитель соединил три кнопки одним кирпичиком И. —
Смотрите: нажал один — не горит. Двое — не горит. Все трое — горит!
Справедливо?
— Справедливо!
— А теперь добавка! — учитель принёс ещё одну, большую красную
кнопку. — Это кнопка председателя судей. Бывает так: два судьи
засомневались, а председатель лично всё проверил — чертёж, гайки,
каждый узелок — и говорит: «Победитель верный!» Как поступить?
— Пусть одна кнопка председателя тоже зажигает! — закричали роботы.
— Какой кирпичик?
— ИЛИ! — закричали они.
— Верно! — учитель повесил кирпичик ИЛИ рядом. — Теперь лампочка
загорится, если нажали все три судьи… или если нажал
председатель. Правило честное: уговорить одного судью мало,
нужны все трое или сам председатель!
— Остался третий кирпичик! — сказал учитель. — А теперь представьте:
судьи всё нажали, лампочка уже горит… и вдруг с неба — гром! Гроза!
Соревнования по сборке мостов на улице проводить нельзя.
Поставьте НЕ-кнопку «Гроза!» — нажали её — и лампочка «Победитель»,
какой бы ни была, погасла!
Роботы поставили НЕ — и я своими глазами увидел, как один кирпичик
перечеркнул целый чемпионат.
— Так из трёх кирпичиков мы собрали настоящее правило, —
подвёл итог учитель. — Все судьи согласны — И. Или сказал
председатель — ИЛИ. А гроза всё отменила — НЕ! Запомните: хранитель
строит правила из кирпичиков И, ИЛИ, НЕ — и тогда его слово
решает. Так же мы соберём скоро и счётную машину!
— Вот это да! — сказал я. — У вас даже пальцев нет, а счёт построить
можете! И правила — тоже!
Главный фокус: шестнадцатеричная
— А теперь, кот, главный фокус! — робот подвёл меня к стене с
лампочками. — Мы считаем двоичной, как киты: 0 и 1. Но записывать
так неудобно — лампочки выстраиваются в длинную строчку. Вот
смотри: 10110101. Длинно?
— Ещё как длинно! — согласился я.
— Мы придумали укорачивать. Собираем лампочки кучками по три —
получается цифра от 0 до 7. Так записывают мультяшки и осьминоги,
это восьмеричная система. А по четыре — сразу шестнадцать
вариантов, от 0000 до 1111! Больше, чем цифр у людей!
— Шестнадцать?! — удивился я. — А цифр-то на это не хватит!
— Вот именно! — кивнул робот. — Поэтому мы позвали буквы в
помощники: A, B, C, D, E, F! Сейчас покажу. Только мы
придумали поставить свои записи рядом со всеми остальными —
вот она, таблица нашего музея:
| Яблоки | Кит (2) | Мультяшка и осьминог (8) | Люди (10) | Роботы (16) |
|---|---|---|---|---|
| 1 | 1 | 1 | 1 | 1 |
| 5 | 101 | 5 | 5 | 5 |
| 7 | 111 | 7 | 7 | 7 |
| 8 | 1000 | 10 | 8 | 8 |
| 15 | 1111 | 17 | 15 | F |
| 16 | 10000 | 20 | 16 | 10 |
| 181 | 10110101 | 265 | 181 | B5 |
— Смотри, китячья запись. Пока яблок мало — до восьми — все пишут
одинаково: 5, 5, 5, 5! — робот ткнул в строку с пятью яблоками, и
я чуть не подпрыгнул: да, пять яблок — это у всех пять! И мультяшка,
и люди, и мы напишем просто «5» — только кит запишет 101.
А вот дальше записи разбегаются: восемь яблок — это уже 1000 у
кита, 10 у мультяшки... а у людей осталось 8!
— Погоди! — я ткнул в столбик роботов. — А это что за «10» в строке
«16 яблок»?!
— Шестнадцать! — улыбнулся робот. — У нас, шестнадцатеричных,
число «10» означает шестнадцать. У кого какое основание — у того
«10» и есть своё!
— У людей «10» — это десять, у китов — два, у роботов — шестнадцать!
— я даже подпрыгнул. — Одно и то же число «10» — и все разные
яблоки!
Робот посмотрел на меня с уважением:
— А ты понял главное. Смотри, — он ткнул в строку «181 яблоко», —
вот это уже большое число, его кит запишет десятью лампочками,
мультяшка — 265, люди — 181, а мы — всего двумя знаками: B5!
Восьмеричная запись — три знака: 265. А шестнадцатеричная — всего
два: B5! В два раза короче! Поэтому мы и взяли себе шестнадцать
цифр — места на берёсте экономит.
— Вот это экономия! — восхитился я.
— Поэтому мы, роботы, и считаем двоичной, и записываем
шестнадцатеричной: так и коротко, и понятно. Восьмеричная — система
хорошая, честная, но не самая компактная. А мы торопимся: в нас
океан китов считает, некогда на длинные строчки смотреть!
— А ещё, — робот показал мне экран, — шестнадцатеричной записывают
цвета! Вот мой любимый оранжевый: #FF8800. Две буквы F —
значит, много яркого красного! Если бы я записал этот цвет
по-китячьи, вышла бы длиннющая строчка. А так — всего шесть знаков.
Красиво, правда?
Я посмотрел на оранжевый — и правда, красивый, совсем как мои яблоки.
— Ну что, кот, хочешь посмотреть, как из наших кирпичиков получается
настоящая счётная фабрика? — улыбнулся робот. — Тогда идём — в класс
сумматора!
Попробуй сам! Возьми китячью запись 1111. Собери лампочки
кучками по четыре: получилась одна кучка 1111. Какая цифра ей
соответствует? Посмотри в таблицу: F!А теперь поиграй в «И» и «ИЛИ»: поставь перед собой два нарисованных
выключателя. Когда лампочка загорится, если нужно нажать оба?
А если хватит одного? А что сделает НЕ — нажал, и лампочка…
погасла! Три кирпичика, а сколько игры!А теперь собери судейское правило, как в школе хранителей:
нарисуй три кнопки судей, одну кнопку председателя и кнопку
«Гроза». Когда загорится «Победитель»? (Если нажаты все три
судейские — И! Или если нажата кнопка председателя — ИЛИ!
Но если «Гроза» нажата — НЕ, погасло!)
Продолжение: глава 12 — «Планета Роботов: класс сумматора».
© про100.D · CC BY 4.0