Этот материал - очередная выдержка из книги "Путешествие в Робокодию".
На этот раз - единственная в книге математическая глава. В популярной форме излагаются двоичная и троичная системы счисления и их связь с миром компьютеров.
По сюжету - героев направили в Школу нарушителей (так уж получилось).
-
14. ШКОЛА НАРУШИТЕЛЕЙ: НА ВЕСАХ — ВЫБОР СИСТЕМЫ СЧИСЛЕНИЯ
Преподавателем школы был старый скучающий робот. Он очень обрадовался, когда к нему доставили нарушителей: нарушителей уже давно не встречалось, поскольку, даже при желании, попасть без регистрации на ТС—10101 было невозможно: просто Макуша, когда нужна была помощь Геле и терпящему бедствие кораблю, совершил невозможное и прошёл там, где пройти невозможно (так уж бывает, что необходимость помочь попавшим в беду заставляет иногда совершить невозможное).
Преподаватель, конечно, не подал виду, что он обрадовался: радость при появлении нарушителей могла быть неправильно истолкована воспитуемыми.
После выполнения необходимых формальностей, представления преподавателя, официального объявления причины, по которой Макуша и его сопровождающие доставлены в Школу, преподаватель начал свою лекцию.
— ТС—10101 — это Транспортная Система 21—ого века, — начал преподаватель.
— А почему 10101? — не выдержал Миша.
Преподаватель укоризненно посмотрел на нарушителя порядка:
— Решите-ка сначала следующую задачу: есть весы с двумя чашами (рис. 14.1),
Рис. 14.1. Весы с двумя чашами
на одну чашку кладут взвешиваемый предмет, на другую — гири. Взвешивание происходит с точностью до одного грамма, максимальный взвешиваемый груз — 31 грамм. Найти минимальный набор гирь, с которым можно произвести взвешивания.
Маша и Миша начали увлечённо решать задачу, а Макуша с интересом наблюдал за ребятами.
Попробуй и ты решить задачу, прежде, чем продолжать чтение.
— Чтобы взвесить 1 грамм, нужна гиря 1 грамм! — воскликнул Миша.
— Америку открыл — засмеялась Маша, но Миша был прав: решение задачи надо начинать сначала.
— Чтобы взвесить два грамма… — Миша немного замялся — Нужна ещё одна гиря 1 грамм! — радостно заключил Миша.
— Постой, — сказала Маша — ты собираешься добавлять каждый раз по граммовой гире? Так нам понадобится 31 гиря! Так дело не пойдёт. Давай добавим гирю 2 грамма.
— А что, потом будем добавлять гирю 3 грамма, 4 грамма, скажешь тоже!
— Не суетись, Миша — Маша была старше Миши (на 45 минут), и иногда вела себя как старшая. — Давай сначала изучим ситуацию с двумя гирями: 1 грамм и 2 грамма. Мы можем взвесить 1, 2 и 3 грамма (1 + 2 = 3), значит, гиря 3 грамма нам не нужна, верно?
— Верно — со вздохом подтвердил Миша: он был немного расстроен тем, что погорячился и приписал Маше то, что она не говорила.
— Значит, дальше нам нужна гиря 4 грамма! — заключила Маша.
Миша начал быстро считать:
5 = 4 + 1
6 = 4 + 2
7 = 4 + 2 + 1
— И следующая гиря — 8 граммов! — К Мише вернулся азарт решателя
— Постой, попробую назвать следующую гирю… — 16 граммов! — воскликнула Маша.
— Ну, это только гипотеза! — Миша употребил одну из дедушкиных фраз: этой фразой дедушка давал понять, что предположения, даже очень правдоподобные, нужно проверять и доказывать.
— Маша, мы же ещё ничего не проверили с гирей 8 граммов, как ты можешь назвать следующую?
— Миша, смотри: когда мы добавили гирю 2 грамма, то добавился возможный вес 2 грамма И добавилась возможность взвесить 2 + 1 грамм, то есть стало возможно взвесить грузы от 1 до 3 граммов, а когда, добавилась гиря 4 грамма, то, кроме четырех граммов, появилась возможность взвесить грузы с весом 4 + все ранее возможные веса. И с гирей 8 ситуация та же самая: мы можем после 8 граммов взвесить ещё 7 вариантов, которые у получаются с гирями 1, 2, 4. Значит мы можем взвешивать до 15 граммов (8 + 7 = 15), и следующая гиря — 16
— Здорово! — порадовался за сестру Миша. И тут его осенило:
1
2 = 1 * 2
4 = 2 * 2
8 = 4 *2
16= 8 * 2
— Этот набор можно продолжать бесконечно!
32 = 16*2
'Сообразительные биоособи,' — удивился преподаватель.
— Так, задачу вы решили, зачёт. Продолжим.
Десятичная система счисления, берущая своё начало от счёта на пальцах, показала своё несовершенство, когда началась разработка Электронно-Вычислительных Машин, известных ныне как компьютеры. Более приспособленной для компактного хранения информации и для технической реализации оказалась двоичная система счисления. Именно двоичная система счисления используется в современных компьютерах.
В Робокодии, естественно, официальной системой счисления является именно двоичная, где есть всего две цифры: 0 и 1. Десятичная система используется для удобства гостей из Заэкранья.
Маша и Миша переглянулись: теперь стало понятно, почему они в Робокодии часто сталкивались с числами, состоящими только из единиц и нулей.
Если в десятичной системе счисления 'вес' разрядов увеличивается в 10 раз: единицы, десятки, сотни и так далее, то в двоичной системе — в 2 раза:
1 (в двоичной системе) = 1 в десятичной системе
10 = 2
100 = 4
1000 = 8
10000 = 16
— Гири! — воскликнул Миша
— Верно. Вы сами выбрали для компактного набора гирь именно двоичную систему, хотя вам, конечно, привычнее архаичная десятичная система. Двоичная система — выбор компьютеров!
— Значит, 10101 в ТС—10101 — это запись в двоичной системе? тогда 10101 — это то же, что выбрать гири 1, 4 и 16?
1 + 4 + 16 = 21!
ТС — 10101 — это Транспортная Система — 21: двадцать первого века!
— О чём я вам и сказал в самом начале. — удовлетворённо сказал преподаватель.
— Получается, двоичная система — самая выгодная для хранения числовых данных? — включился в разговор Макуша.
— Как вам сказать… Решите ещё одну задачу: гири можно класть на обе чаши, взвешивать нужно от 1 до 40 граммов.
Ребята и Макуша решают задачу, попробуй решить и ты.
В итоге у команды получился набор гирь 1, 3, 9, 27.
— Так это получилась троичная система, правда? Ведь каждая гиря в 3 раза тяжелее предыдущей. — заключил Макуша.
— Совершенно верно! — преподаватель обрадовался, что можно, наконец, похвалить и робота, для которого, собственно, это занятие и проводилось.
— В шестидесятых годах прошлого века была даже создана ЭВМ, работающая в троичной системе. В её троичной системе использовались три цифры…
— 0, 1, 2, — выпалил Миша.
Преподаватель даже засмеялся (хотя, конечно, это было не очень профессионально — смеяться над ошибкой того, кто думает и пытается разобраться в вопросе самостоятельно, а не просто слушает и запоминает, не задумываясь о существе вопроса).
— Логичное, но неверное предположение. — поправился преподаватель. — В первой задаче вы клали гири на одну чашу: их веса всегда складывались. Во второй — часть гирь могла находиться на чаше с взвешиваемым грузом, то есть, вес этих гирь вычитался.
Слушатели недоумённо смотрели на преподавателя, не понимая, какой из всего этого следует вывод.
— 0, 1 и … — преподаватель выдержал паузу, медленно обводя взглядом немногочисленную аудиторию и словно давая шанс Макуше и ребятам справится с задачей самостоятельно…
— -1 — торжественно заключил преподаватель.
— Как? — хором воскликнули Макуша, Миша и Маша.
— Да очень просто: каждая гиря соответствует разряду троичного числа. Если гиря находится на чаше, противоположной грузу, то в соответствующем разряде записывается единица, если гиря не используется, то в разряде записывается 0, а если…
— Гиря лежит вместе с грузом, то -1 — Маша первой поняла идею.
— Вот—вот
Например, трёхзначное число 1 (—1) (—1) = 9 — 3 — 1 = 5 — добавил преподаватель: именно так была устроена троичная система первого и единственного компьютера с троичной системой.
— Красиво, — сказал Миша, а Макуша спросил:
— Так почему тогда компьютеры используют двоичную, а не троичную систему?
— Да просто для троичной системы не нашли приемлемого технического решения: миниатюрное устройство, которое может находиться в одном из двух состояний, то есть знак в двоичной системе, оказалось сделать гораздо проще, чем знак в троичной системе. Кто знает, может, в будущем найдётся нечто, что можно использовать в качестве знака троичной системы, и идея компьютера с троичной системой ещё вернётся, а пока двоичная система полностью доминирует. Но нам пора вернуться к главной теме…