Ввод чисел осуществлялся следующим образом. Каждое колесо вращалось независимо от другого на собственной оси. Поворот производился с помощью ведущего штифта, который вставлялся между двумя смежными зубьями. Штифт поворачивал колесо до тех пор, пока не наталкивался на неподвижный упор, закрепленный в нижней части крышки и выступающий внутрь отверстия левее цифры "1" круговой шкалы. Если, например, штифт ставили между зубьями 3 и 4 и вращали колесо до упора, то оно поворачивалось на 3/10 своей полной окружности. Поворот каждого колеса передавался посредством внутреннего механизма цилиндрическим барабанам, оси которых были расположены горизонтально. На боковой поверхности барабанов были нанесены ряды цифр.
Сложение чисел, если сумма их не превышала 9, происходило очень просто и соответствовало сложению пропорциональных им углов. При сложении больших чисел должна была производиться операция, которая называется переносом десятка в старший разряд. Люди, считающие в столбик или на счетах, должны производить ее в уме. Машина Паскаля выполняла перенос автоматически, и это было ее наиболее важной отличительной чертой.
Элементами машины, относящимися к одному разряду, были установочное колесо N, цифровой барабан I и счетчик, состоящий из четырех корончатых колес B, одного зубчатого колеса K и механизма передачи десятков.
Заметим, что колеса B1, B2 и K не имеют принципиального значения для работы машины и использовались лишь для передачи движения установочного колеса N цифровому барабану I. Зато колеса B3 и B4 являлись неотъемлемыми элементами счетчика и поэтому именовались «счетными колесами». Счетные колеса двух соседних разрядов A1 и A2, были жестко насажены на оси. Механизм передачи десятков, который Паскаль назвал «перевязь», имел следующее устройство. На счетном колесе B1 младшего в машине Паскаля разряда имелись стерженьки C1, которые при вращении оси A1 входили в зацепление с зубьями вилки M, расположенной на конце двухколенного рычага D1. Этот рычаг свободно вращался на оси A2 старшего разряда, вилка же несла на себе подпружиненную собачку. Когда при вращении оси A1 колесо B1 достигало позиции, соответствующей цифре 6, стержни C1 входили в зацепление с зубьями вилки, а в тот момент, когда оно переходило от 9 к 0, вилка выскальзывала из зацепления и под действием собственного веса падала вниз, увлекая за собой собачку. Последняя при этом проталкивала счетное колесо B2 старшего разряда на один шаг вперед (то есть поворачивая его вместе с осью A2 на 36 градусов). Рычаг H, оканчивавшийся зубом в виде топорика, играл роль зацепки, препятствовавшей вращению колеса B1 в обратную сторону при поднимании вилки.
Механизм переноса действовал только при одном направлении вращения счетных колес и не допускал выполнения операции вычитания вращением колес в обратную сторону. Поэтому Паскаль заменил вычитание сложением с десятичным дополнением. Пусть, например, необходимо из 532 вычесть 87. Метод дополнения приводит к действиям: 532-87=532-(100-13)=(532+13)-100=445. Нужно только не забывать вычесть 100. На машине, имевшей определенное число разрядов, об этом, впрочем, можно было не беспокоиться. Действительно, пусть на шестиразрядной машине выполняется вычитание 532-87. Тогда 000532+999913=1000445. Но самая первая единица потеряется сама собой, так как переносу из шестого разряда некуда деться.
Умножение также сводилось к сложению. Но поскольку в машине Паскаля слагаемое вводилось каждый раз заново, использовать ее для выполнения этой арифметической операции было крайне трудно.
Следующий этап в развитии вычислительной техники связан с именем знаменитого немецкого математика Лейбница. В 1672 году Лейбниц посетил голландского физика и изобретателя Гюйгенса и был свидетелем того, как много времени и сил отнимали у него разнообразные математические расчеты. Тогда у Лейбница и появилась мысль о создании арифмометра. «Это недостойно таких замечательных людей, — писал он, — подобно рабам, терять время на вычислительную работу, которую можно было бы доверить кому угодно при использовании машин». Однако создание такой машины потребовало от Лейбница всей его изобретательности. Его знаменитый 12-разрядный арифмометр появился только в 1694 году и обошелся в круглую сумму — 24000 талеров.
В основе механизма машины лежал изобретенный Лейбницем ступенчатый валик, представлявший собой цилиндр с нанесенными на нем зубцами различной длины. В 12-разрядном арифмометре таких валиков было 12 — по одному на каждый разряд числа.
Арифмометр состоял из двух частей — неподвижной и подвижной. В неподвижной помещался основной 12-разрядный счетчик и ступенчатый валик устройства ввода. Установочная часть этого устройства, состоявшая из восьми малых цифровых кругов, была расположена в подвижной части машины. В центре каждого круга располагалась ось, на которую под крышкой машины было насажено зубчатое колесо E, а поверх крышки установлена стрелка, которая вращалась вместе с осью. Конец стрелки мог быть установлен против любой цифры круга.
Ввод данных в машину осуществлялся с помощью особого механизма. Ступенчатый валик S был насажен на четырехгранную ось с нарезкой типа зубчатой рейки. Эта рейка входила в зацепление с десятизубым колесом E, на окружности которого были нанесены цифры 0, 1…9. Поворачивая это колесо так, чтобы в прорези крышки появилась та или другая цифра, перемещали ступенчатый валик параллельно оси зубчатого колеса F основного счетчика. Если после этого поворачивали валик на 360 градусов, то в зацепление с колесом F входили одна, две и т.д. наиболее длинные ступени, в зависимости от величины сдвига. Соответственно колесо F поворачивалось на 0, 1…9 частей полного оборота; также поворачивался диск или ролик R. Со следующим оборотом валика на счетчик вновь переносилось то же число.
Вычислительные машины Паскаля и Лейбница, так же как и некоторые другие, появившиеся в XVIII столетии, не получили широкого распространения. Они были сложны, дороги, да и общественная потребность в подобных машинах была еще не очень острой. Однако по мере развития производства и общества такая потребность стала ощущаться все больше и больше, особенно при составлении различных математических таблиц. Повсеместное распространение в Европе конца XVIII — начала XIX века получили арифметические, тригонометрические и логарифмические таблицы; банки и ссудные конторы применяли таблицы процентов, а страховые компании — таблицы смертности. Но совершенно исключительное значение (в особенности для Англии — «великой морской державы») имели астрономические и навигационные таблицы. Предсказания астрономов относительно положения небесных тел были в то время единственным средством, позволявшим морякам определять местонахождение их кораблей в открытом море. Эти таблицы входили в «Морской календарь», который выходил ежегодно. Каждое издание требовало огромного труда десятков и сотен счетчиков. Незачем говорить, как важно было избежать при составлении этих таблиц ошибок. Но ошибки все равно были. Сотни и даже тысячи неверных данных содержали также самые распространенные таблицы — логарифмические. Издатели этих таблиц были вынуждены содержать специальный штат корректоров, проверявших полученные вычисления. Но и это не спасало от ошибок.
Положение было настолько серьезным, что английское правительство — первое в мире — озаботилось о создании специальной вычислительной машины для составления подобных таблиц. Разработка машины (ее называют разностной) была поручена известному английскому математику и изобретателю Чарльзу Бэббиджу. В 1822 году была изготовлена действующая модель. Поскольку значение изобретения Бэббиджа, а также значение разработанного им способа машинных вычислений очень велики, следует подробнее остановиться на устройстве разностной машины.
Рассмотрим прежде на простом примере метод, предложенный Бэббиджем для составления таблиц. Допустим, требуется вычислить таблицу четвертых степеней членов натурального ряда 1, 2, 3…
Пусть такая таблица уже вычислена для некоторых членов ряда в колонке 1 — и полученные значения занесены в колонку 2. Вычтем из каждого последующего значения предыдущее. Получится последовательное значение первых разностей (колонка 3). Проделав ту же операцию с первыми разностями, получим вторые разности (колонка 4), третьи (колонка 5) и, наконец, четвертые (колонка 6). При этом четвертые разности оказываются постоянными: колонка 6 состоит из одного и того же числа 24. И это не случайность, а следствие важной теоремы: если функция (в данном случае это функция y(x)=x4, где x принадлежит множеству натуральных чисел) есть многочлен n-й степени, то в таблице с постоянным шагом его n-е разности будут постоянны.