Счислитель Куммера

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
На счислителе −3
Счислитель, проградуированный в дореформенной английской валюте. Виден штырь и кронштейн для него.

Счислитель Куммера (также аддиатор, арифметическая линейка) — компактная цифровая суммирующая машина предельно простой конструкции, появившаяся в середине XIX века и выпускавшаяся до 1982 года[1]. Представляет собой конструкцию из нескольких зубчатых реек, промаркированных символами ↓, 0…9, ↑ (стрелок может не быть). К счислителю прилагался заострённый металлический штырь, которым и сдвигали рейки.

В простейшем виде счислитель умеет складывать числа, перенос в следующий разряд работает полуавтоматически по принципу «вычти 10, перенеси 1». Снизу (или на обратной стороне) счислителя могут стоять прорези для вычитания. Умножение реализуется как многократное сложение. Существуют сложные алгоритмы для деления.

История[править | править код]

Француз Сезар Казэ[2] в 1707 году придумал рейки, прорези длиной в 10 единиц и метки, указывающие, куда надо вести штырь: вверх или вниз. Перенос в следующий разряд выполнялся вручную. Несмотря на сомнительную полезность, устройство получило определённое распространение.

Изобретение искривлённой прорези, полуавтоматически производящей перенос, приписывается петербургскому учителю музыки и механику-любителю Генриху Куммеру (1846), дальнему родственнику математика Эрнста Куммера. Позднее устройство переизобрёл француз Тронсэ (1889).

Немецкая компания Addiator начала выпускать устройство около 1920 и сделала аддиатор товарным знаком, ставшим нарицательным[3]. На Западе он был популярен, наряду с более дорогой Curta, и даже некоторое время конкурировал с микрокалькуляторами за счёт многократно меньшей цены. К 1961 году было сделано более 5 млн подлинных аддиаторов, самые дорогие из них щеголяли роскошным латунным корпусом[4]. Существовали счислители, предназначенные специально для расчётов в фунтах/шиллингах/пенсах, футах/дюймах/долях дюйма, шестнадцатеричные счислители для программистов[5], гибриды счислителя с логарифмической линейкой: первый умел складывать и вычитать, вторая — умножать и делить.

В СССР устройство также изготовлялось, но не стало таким известным, как русские счёты и «железный Феликс».

Существовали карманные суммирующие машины с полноценным механизмом переноса, они также управлялись штырём. Наиболее распространённые схемы — цепная[6] и дисковая[7].

Инструкция[править | править код]

Старый российский счислитель. Последний разряд проградуирован в четвертях копейки.
Внутреннее устройство счислителя. На этом нет стрелок ↓↑.

Сброс[править | править код]

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

Существовали компактные счислители — у них не было ручки сброса, взамен рейки высовывались из корпуса. Их надо было задвинуть ладонью.

Сложение[править | править код]

Сбрасываем счислитель.

Набираем слагаемое таким образом: вставляем штырь на шкале сложения напротив соответствующей цифры и ведём его вниз до упора. Индикатор покажет первое слагаемое.

Теперь набираем второе слагаемое с такими дополнениями:

  • Если соответствующий промежуток между зубцами белый, ведём штырь, как и раньше, вниз до упора.
  • Если промежуток между зубцами красный, ведём штырь вверх, а затем по изгибу. Это приведёт к переносу единицы в следующий разряд.
  • Если вы повели штырь вверх, когда нужно вниз, или наоборот, он не дойдёт до конца. В таком случае надо просто, не вынимая штыря из отверстия, довести его до конца в обратную сторону.
  • Если штырь дошёл до верха, но не входит в изгиб (в следующем разряде максимум — 9 или ↑, в зависимости от модели), проведём на мешающей рейке от цифры 1 вверх и по изгибу. Если и на ней не получается пройти по изгибу — делаем то же со следующей.
  • На многих счислителях есть символы ↑ за девяткой и ↓ перед нулём. Они не мешают считать, но перед прочтением результата их надо нормализовать: провести штырём от цифры 0 вверх и по изгибу (соответственно на шкале вычитания от цифры 0 вниз и по изгибу). Эти символы снижают шансы, что в цепочке сложений потребуется несколько последовательных переносов, дополнительно показывают, что пользователь ошибся и надо вести штырь в другую сторону, а также позволяют работать с отрицательными числами.

Пример: 17 + 25. (Во всех примерах счислитель оснащён символами ↓↑.)

Сбрасываем счислитель. Набираем на верхней шкале 17 — в разряде десятков вставляем штырь около цифры 1 и ведём его до упора вниз, в разряде единиц от семёрки вниз. После этого набираем на верхней шкале 25 — сначала от двойки вниз (на индикаторе 37), затем от пятёрки вверх и по изгибу (на индикаторе 42).

Пример: 7,56 + 1,49

Сбрасываем счислитель. Набираем на верхней шкале 756. Затем набираем на верхней шкале 149 — например, от единицы вниз, от четвёрки вниз, затем от девятки вверх и по изгибу. На индикаторе 8↑5. Проводим во втором разряде от нуля вверх и по изгибу — на индикаторе 905. Ответ: 9,05.

(Если бы мы прибавляли 1,49 начиная с младшего разряда, нам бы не мешали стрелки вверх, и мы бы сразу получили 9,05.)

Пример: 1,99 + 0,05 + 0,08

Сбрасываем счислитель. Набираем на верхней шкале 199. Проводим от пятёрки вверх и по изгибу (на индикаторе 1↑4). Проводим от восьмёрки вверх (на индикаторе 1↑2), но по изгибу уже нельзя — потому в разряде десятков проводим от единицы вверх по изгибу. Получаем ответ 2,12.

Вычитание[править | править код]

Уменьшаемое набирается, как и раньше, на шкале сложения.

Снизу (или на обратной стороне устройства) есть шкала вычитания. Именно на этой шкале набирается вычитаемое, таким же образом: если штырь попадает на красное деление, ведём его вниз и по изгибу; если на белое — то вверх до упора.

Если в результате расчёта одна из реек оказалась в положении , «вычтем» 0, проведя штырём вниз и по изгибу. Если в положении оказался верхний разряд — результат отрицателен. Хоть мы и не можем прочитать результат, счислитель его помнит, и как только сумма станет положительной, мы снова сможем её прочитать.

Иногда делают и индикатор отрицательных чисел: показаниям ↓, 0, 1…9, ↑ на основном индикаторе соответствуют ↓, ↓, 9…1, 0 в последнем разряде и −, 9, 8…0, ↑ в остальных. Чтобы прочесть отрицательное число, нужно избавиться от ↓ в последнем разряде и всех минусов в середине числа, проведя штырём от 0 вниз и по изгибу.

На шестнадцатеричном счислителе часто требуется провести вычитание по компьютерным правилам: 5 − 7 = FFFE. Результат этой операции смотрят на основном индикаторе, физически и/или мысленно избавившись от всех стрелок ↓.

Пример: 6,34 − 8,54 + 5,36

Сбрасываем счислитель. Набираем 634. На шкале вычитания набираем 854: от 8-ки вниз по изгибу, от 5-ки вниз по изгибу, от 4-ки вверх. На верхнем индикаторе ↓780. На нижнем — соответственно −21↓. Проведя вниз от 0 и по изгибу, получим ↓77↑ сверху и −220 снизу — промежуточный ответ −2,2.

Прибавив 5,36 по обычным правилам, получаем 3,16.

Умножение[править | править код]

Чтобы умножить 123 на 456, надо добавить 45600 один раз, 4560 дважды и 456 трижды. Не у многих счислителей есть достаточно разрядов, чтобы хранить произведение двух многозначных чисел.

Деление[править | править код]

Делим 156:21.

Для начала выясняем, нужен ли ведущий ноль, для этого записываем оба числа, выровняв по верхнему разряду.

156
210

156 < 210 — потому ведущий ноль не нужен, и набираем на счислителе 156000.

Пробуем вычесть 156000 − 21000 — получается 7 раз, на счислителе 9000. Записываем первой цифрой 7 и запоминаем, что это цифра частного — 7|09000.

Вычитаем 9000 − 2100 — получилось 4 раза. Записываем второй цифрой 4, на счислителе 74|0600.

Вычитаем 600 − 210 — получилось 2 раза: 742|180.

Вычитаем 180 − 21 — получилось 8 раз и 12 в остатке. 12·2 ≥ 21, потому записываем последней цифрой 9. Ставим запятую в нужном месте и получаем ответ: 156:21 ≈ 7,429.

При делении 456:21 пришлось бы начать с 045600, потому что 456 ≥ 210, и получилось бы ≈21,71.

Если есть бумага или хорошая память, можно получить сколько угодно разрядов частного. Запомнив 21·4 = 84 или 21·3 = 63, можно сэкономить на вычитаниях — в среднем 2,1 вычитания на цифру частного, максимум 4 (вместо 4,5 и 9).

Теория[править | править код]

Сначала рассмотрим счислитель без символов ↑↓. Он представляет собой механический десятичный сумматор. Длина щели ровно 10 единиц, и если довести штырь, например, от 6-ки до самого низа, мы автоматически прибавляем к сумматору 6. Если же провести от 6-ки до верха — мы вычитаем 4. До верха и по изгибу — −4+10, то есть прибавить 6 с переносом.

Такая схема переноса неполная и не может совершить перенос в двух и более разрядах: 199 + 1 = 200. Взамен она застревает при попытке увеличить 90 на 10, и пользователь должен своими силами вычесть 90 и прибавить 100 — то есть провести от 1 вверх и по изгибу.

Отрицательные числа хранятся дополнительным кодом: 9999 = −1, 9998 = −2.

Более прогрессивные счислители добавляют две псевдоцифры: ↑ = 10, ↓ = −1. Чтобы нормализовать эти цифры, надо вычесть 10 в одном разряде и прибавить в другом — то есть провести от 0 и по изгибу. Чтобы превратить прямой код −1 в дополнительный 9999, надо взять модуль, вычесть единицу и инвертировать все цифры — отсюда такое устройство индикатора отрицательных чисел. И здесь примитивная схема переноса оказывается очень кстати, ведь запись 0↓98 — это действительно отрицательное число: −100 + 98 = −2.

Примечания[править | править код]

Ссылки[править | править код]