Арифмометры
Арифмометр (в переводе с греческого — «числомер», «измеритель чисел») — механическая вычислительная машина, предназначенная для точного умножения и деления, а также для сложения и вычитания. Механическая вычислительная машина, ведущая автоматическую запись обрабатываемых чисел и результатов на особой ленте, называется арифмографом. Как правило, арифмометры были настольными, хотя встречались и портативные модели (такие как Curta)
История[править]
Иногда говорят, что предтечей арифмометров был Антикитерский механизм — древнегреческий прибор для определения положения светил. Не совсем так: Антикитерский механизм — аналоговая механическая вычислительная машина (и скорее предок ПУАЗО — приборов управления артиллерийским зенитным огнём). Арифмометр — машина цифровая.
- Важное отступление. В аналоговых машинах величины выставляются в непрерывном виде — как углы поворота чего-то, количество жидкости в чём-то, напряжение на чём-то и так далее. Наиболее известный аналоговый вычислитель — логарифмическая линейка: числа — длины отрезков на линейке. Аналоговые машины точны настолько, насколько точно они сделаны. Цифровые машины работают дискретными положениями каких-то элементов (цифрами), расчёты на них абсолютно повторяемы (на этом основаны запись демо-роликов и мультиплеер в Doom), а точность настолько велика, сколько цифр мы храним. Из-за точности, повторяемости и простоты программирования ход был дан именно цифровым машинам. После войны «оцифровались» и артиллерийские вычислители.
Схему первой цифровой суммирующей машины предложил Леонардо да Винчи около 1500 г. Но в то время разработка не получила распространения.
В XVII веке были сконструированы арифмометры Шиккарда, Паскаля, Лейбница и Морленда. В 1709 году появился арифмометр Полени. Серийный выпуск арифмометров начался в 1820 г. В СССР самым популярным арифмометром был «Феликс» (годы выпуска — 1929—78). Таких арифмометров было выпущено несколько миллионов.
Устройство и принцип действия[править]
Суммирующая машина[править]
Начнём с самого простого: как работает суммирующая машина. А работает она, как счётчик электричества в квартире или пробега в машине: несколько десятичных колёс, связанных механизмом переноса. Каждый раз, когда колесо прокручивается 9→0, оно зацепляет механизм переноса и сдвигает старший разряд. Чтобы не было ошибок в расчётах, колёса останавливаются не трением, а подпружиненной собачкой.
Если каким-то механизмом прощёлкивать младший разряд, получается устройство, известное под жаргонным названием кликер: с его помощью стюардессы считают пассажиров, транспортники — поток через дорогу. Но как к 123 прибавить 456? Не щёлкать же кликером 456 раз?
Первое усовершенствование — сделать по кнопочке на каждый разряд (запомним эту конструкцию под названием мультикликер). Но всё равно, чтобы набрать 456, потребуются 4+5+6=15 нажатий. Так что поступают не так: на каждый разряд делают по колесу с торчащими зубцами. Чтобы прибавить 400, надо ухватиться (пальцем или заострённым штырём) за 4-й зубец в разряде сотен и вытянуть его до самого низа. Чтобы вычесть 400 — наоборот, ухватиться за 4-й зубец сверху и толкнуть до верха.
Этот наш счётчик будем называть сумматором.
Суммирующая машина проста и дешева, некоторые варианты с полуавтоматическим переносом имели смехотворно простое устройство и умещались в кармане (счислитель Куммера).
Арифмометр «Феликс»[править]
Наиболее прогрессивные арифмометры (и «железный Феликс» тоже) работают на колесе Однера: на колесе вырастает от нуля до девяти зубцов в зависимости от выставленной на цифронаборнике цифры. Крутим ручку — и за один оборот арифмометр делает в точности то, что мы делали с суммирующей машиной руками. Если крутим её на оборот вперёд, прибавляется 456, если назад — вычитается. Но крутить надо точно на один оборот: если оставить в неисходном положении и начать работать с кареткой (см. ниже) или цифронаборником, можно сломать механизм (конкретно на Однере ещё и цифронаборник окажется смещённым). Потому ручка удерживается в исходном положении стопором, который надо ещё освободить (например, оттянув ручку). И крутить надо от щелчка до щелчка. Этот стопор может быть связан с блокиратором, не дающим работать с кареткой, цифронаборником и барашками сброса, если ручка не в исходном положении.
Такой способ — набрать 456 на цифронаборнике, а затем крутануть ручку — снижает вероятность ошибки (что для виртуоза суммирующей машины неважно), но несколько медленнее (что для виртуоза существенно). Потому в банках и бухгалтериях предпочитали суммирующие машины, а в конструкторских бюро — арифмометры. Но что нам этот цифронаборник даёт?
Давайте сбросим сумматор, наберём на цифронаборнике 123 и прокрутим ручку 4 раза. Что получается? 123·4=492. Уже неплохо, но как множить многозначные числа?
А для этого сумматор ставят на каретке. Она обеспечивает сдвиг результата на 1, 2, 3 и более разрядов.
Таким образом, чтобы умножить 123·456, надо действовать по принципу мультикликера: набрать на цифронаборнике 456 (так меньше работы), каретку в сотни, 1 оборот ручки, каретку в десятки, 2 оборота ручки, каретку в единицы, 3 оборота ручки.
Опытный механик поинтересуется, как устроен механизм переноса: все колёса сумматора вращаются одновременно, и традиционный шестерёнчатый перенос может просто заклинить. У Однера перенос рычажный: переход колеса через 0 взводит рычаг. Взведённый рычаг отодвигает в сторону специальный подвижный зуб на колёсах Однера, и этот зуб прибавляет единицу к следующему разряду, после этого рычаг падает. Переносы производятся не одновременно, а по очереди, от младших разрядов к старшим — тогда сложение 99+1 сначала взведёт перенос в десятки, а это, в свою очередь, перенесёт в сотни. Зубьев переноса на каждом колесе по два: для сложения и для вычитания. Кроме того, есть несколько упрощённых колёс без зубцов Однера, только с механизмом переноса: у «Феликса» их 13−9=4 штуки. Из-за такого механизма переноса запрещается возвращать недовёрнутую ручку, это приведёт к ошибке в расчётах. Надо довернуть её до конца, потом сделать оборот назад.
Ну и последнее устройство, упрощающее умножение,— счётчик оборотов ручки. Он тоже располагается на каретке и сдвигается на столько же разрядов, что и сумматор. Если мы, как в предыдущем абзаце, умножили что-то на 123, то счётчик покажет наши 123. Перебрали и получилось 124 — ручку назад, и всё. Здесь уже годится и обычный шестерёнчатый перенос. Часто (и в «Феликсе» тоже) счётчик оборотов не оснащён переносом и имеет не десятеричные, а восемнадцатеричные колёса: 987654321012345678
, для удобства деления. Это, впрочем, делает неочевидным умножение на восьмёрку методом «умножь на 10, затем дважды вычти»: такая восьмёрка будет выглядеть как 12
, то есть 10−2. Другой вариант, используемый в карманном арифмометре «Курта»,— отдельный переключатель направления счёта.
Наконец, в «Феликсе» есть три небольших плюшки: звонок, который звенит при переполнении от 0 до 999999 (и наоборот), маркеры-запятые, которые можно выставить так, как того требуют вычисления, и задвижка для быстрого обнуления цифронаборника (на иллюстрации её рычажок виден под эмблемой завода-изготовителя).
Сложение, вычитание и умножение мы описали. Чтобы разделить 456 на 123, надо…
- Набрать на цифронаборнике 456. Перемещением каретки совместить четвёрку с верхним разрядом сумматора. (Если так нельзя — продвинуть как можно правее).
- Сбросить сумматор, прокрутить ручку вперёд (в сумматоре 456000). Сбросить счётчик оборотов.
- Набрать на цифронаборнике 123 и крутить ручку назад, пока это можно. Если зазвенел звонок — многовато, крутим вперёд.
- У нас получилось три раза. На сумматоре 087000, на счётчике оборотов 3000.
- Сместить каретку влево и продолжать, пока не упрёмся в разряды на арифмометре или требуемую точность. После второго круга на сумматоре 000900, на счётчике 3700.
- Поставить где надо запятую, и в зависимости от остатка округлить вверх или вниз. На нашем гипотетическом шестизначном арифмометре можно получить 3,707.
Именно из-за деления в 18-ичных колёсах девятка красная: при умножении девятку обычно прокручивают как «−1, +10», а при делении надо честно прокрутить девять оборотов. Встречаются «феликсы» с одноцветным счётчиком.
Карманный арифмометр «Curta»[править]
Этот арифмометр стал легендой ещё до появления — разрабатывал его Курт Херцштарк в предвоенные годы. В Бухенвальде Курт восстановил чертежи по памяти, а когда пришли русские, он сбежал на западную сторону и нашёл инвестора в лице князя Лихтенштейна. «Курта» выпускалась около 30 лет, стала легендой за необычный вид и хорошее качество, и является желанным предметом для коллекционеров. Но давайте об устройстве.
Основные элементы арифмометра на месте. Цифронаборник — на внешней стороне цилиндра. Сумматор и счётчик оборотов — вверху, под ручкой. Их можно крутить относительно цифронаборника — вот вам и каретка. Механизм сброса — кольцо под ручкой, которое можно крутить в любую сторону, через сумматор или счётчик. Ручку можно слегка выдвинуть — включается вычитание (ручка крутится только вперёд).
В «Курте» используется другой принцип — он считается менее прогрессивным, чем колёса Однера, но удивительно красиво вписан в карманную конструкцию «Курты». Ручка соединена с валиком Лейбница, барабаном с 0…9 зубцами на каждой из дорожек. Работа с цифронаборником ставит зубчатое колесо напротив той или другой дорожки. В «Курте», впрочем, двадцать дорожек (плюс несколько вспомогательных), в зависимости от положения цифронаборника и переключателя «плюс-минус».
В режиме «плюс» «Курта» действует как любой арифмометр. В режиме «минус» — чтобы вычесть 456−123, дополняем разряды вычитаемого до девятки (9876), складываем (0456+9876=10332), отбрасываем лишний разряд, добавляем единицу и получаем нужные нам 333. Другими словами, «Курта» вычитает 3, прибавляя 6 (в последнем разряде прибавляется семёрка). Устроено это так: в нижнем разряде две наглухо соединённых шестерёнки, одна напротив тройки, другая — напротив двойки. В режиме сложения добавляется большее из двух (3), в режиме вычитания — тоже большее из двух (7). Дополнительный ряд из 10 зубцов используется для вычитания нуля.
За направление счётчика оборотов отвечает отдельный переключатель, действующий как XOR с ручкой: ручка в минус и счёт в минус — счёт идёт в плюс. С одной стороны, при умножении и делении нужно переключать и ручку, и переключатель направления. С другой — если вы ошиблись на единицу, вы вытягиваете ручку, не трогая переключателя, и исправляете ошибку.
У наиболее распространённой Curta 1 было 8 цифр на цифронаборнике, 6 цифр в счётчике оборотов (оснащён переносом) и 11 цифр в сумматоре.
Перенос, как и в Однере, рычажный.
Механизация[править]
А теперь как ускорить работу с арифмометром.
Первое, что приходит на ум,— крутить ручку электромотором. Получаются две кнопки, «+» и «−», одна эквивалентна ручке вперёд, другая — ручке назад. Иногда ухитрялись механизировать даже умножение и деление (то есть мотор даже сдвигает каретку).
Чаще используется в суммирующих машинах, чем в арифмометрах — по кнопке на разряд, как в кассовом аппарате. Штоки клавиш имеют разную длину, пропорционально величине цифр: нажатие — пружины взводятся, отпускание — колёса крутятся. Плюс очень сложный заводной механизм переноса с тремя (!) блокировками, позволяющий давить на клавиши даже одновременно: пружина переноса освободится и сделает дело, когда кнопка вернётся в исходное положение. Виртуоз суммирующей машины сделает работу даже быстрее, чем на электронном калькуляторе — потому такие машины применялись до 90-х, в то время как арифмометры в 80-е полностью исчезли.
Некоторые арифмометры отпечатывают результат на бумажной ленте.
При работе на арифмометре порядок действий всегда задаётся вручную — непосредственно перед каждой операцией следует нажать соответствующую клавишу или повернуть соответствующий рычаг. Программируемых аналогов арифмометров практически не существовало. Хотя проект первого компьютера от Чарльза Бэббиджа представлял собой именно программируемый на перфокартах арифмометр.
Галерея[править]
Ссылки[править]
- Аналоговый механический баллистический вычислитель: https://habr.com/ru/post/503696/