Для выполнения операции сложения наряду со счетными колесами регистров в машине должны были использоваться зубчатые колеса трех различных конструкций (по три колеса на каждое колесо регистра) и так называемые установочные пальцы на специальных осях [1 Подробное описание конструкции деталей разностной машины на русском языке дано в статье [96].]. Конструктивно вычислительный блок разностей машины представляет собой три ряда вертикально расположенных осей с зубчатыми колесами и установочными пальцами. Первый ряд составляют оси со счетными колесами регистров, второй ряд — оси с зубчатыми колесами для суммирования и третий ряд — оси с установочными пальцами для подготовки к работе колес второго ряда. Диаметр счетного колеса регистра 12,7 см. Вычислительный блок машины должен был иметь 3 м в длину и 1,5 м в ширину. Наряду с вычислительным блоком в состав машины должно было входить печатающее устройство.
На рис. 1 дан внешний вид экспериментальной модели разностной машины. Она содержит три регистра (т. е. предназначена для расчета полиномов второй степени) и может оперировать с 5-разрядными десятичными числами (в каждом регистре — пять счетных колес).
При проектировании разностной машины Бэбидж предложил и частично реализовал ряд интересных технических идей. Так, он разделил выполнение операций переноса десятков при сложении на два такта: подготовительный (выполняется во время операции сложения) и собственно перенос. Это новшество, впоследствии широко применявшееся в механических вычислительных устройствах, позволило существенно снизить нагрузки на рабочие элементы машины. Проектируя связь между вычислительным блоком и печатающим устройством, Бэбидж предусмотрел возможность совмещения во времени процессов вычислений и печатания результатов.
Рис. 1. Разностная машина (1822)
Основное назначение разностной машины Бэбидж видел в составлении таблиц. Машина позволяла также проверять таблицы, составленные ранее. Для этого операции должны были производиться в обратном порядке, т. е. от полинома к конечным разностям. К примеру, если в табл. 2 при х=4 ошибочно рассчитан y (получилось 70 вместо 69), то вместо постоянных конечных разностей Δ3=6 получится массив не равных друг другу разностей, и ошибка может быть легко замечена.
Операция проверки таблиц могла быть выполнена и другим путем. Бэбидж писал: «Если соответствующие числа размещены на выходе машины, и она завершила расчет одной страницы таблицы любого типа, то следует провести сравнение последнего табличного числа страницы с заранее рассчитанными. Если различие существует, то наиболее эффективное решение заключается в пересчете целой страницы, т. е. потере всего лишь нескольких часов работы» [83, с. 125].
В общем случае область применения разностной машины Бэбиджа сводилась к вычислению значений функций вида
y = a + bx + cx2+ ... + mxn-1.
Если требовалось рассчитать сумму сходящегося бесконечного ряда, то брали только первые п членов. При достаточно большом п функция, выраженная рядом, могла воспроизводиться достаточно точно и степень этой точности была известна.
Таблица 2. Значения функции y = x3 + x + 1 и конечных разностей (при ошибочном подсчете x4 = 70)
X | Y | Конечные разности |
| | Δ1 | Δ2 | Δ3 |
0 | 1 | 2 | 6 | 6 |
1 | 3 | 8 | 12 | 7 |
2 | И | 20 | 19 | 3 |
3 | 31 | 39 | 22 | 9 |
4 | 70 | 61 | 31 | |
5 | 131 | 92 | | |
6 | 223 | | | |
Таблица 3. Значения функции (способ задания которой требуется определить) и конечных разностей
X | Y | Δ1 | Δ2 |
0 | 2 | 0 | 2 |
1 | 2 | 2 | 4 |
2 | 4 | 6 | б |
3 | 10 | 6 | 6 |
4 | 16 | 12 | 8 |
5 | 28 | 20 | 8 |
6 | 48 | 28 | |
7 | 76 | | |
Принцип, положенный в основу разностной машины, мог быть использован для расчета, например кубов чисел, логарифмических и тригонометрических таблиц и т. п. При этом во многих случаях приходилось брать большое число разностей, прежде чем достигалось постоянное значение, а это, в свою очередь, означало, что на машине нужно было произвести довольно много действий, чтобы получить табличное значение функции.
Наряду с возможностью табулирования важным свойством машины, как писал Бэбидж, явилась «возможность ее использования, при небольших изменениях в конструкции, для расчета таблиц, чьи аналитические законы неизвестны» [85, с. 299].
Рассмотрим пример: в табл. 3 х представляет номер члена последовательности, а у — его значение. С помощью конечных разностей можно определить формулу задания данной функции целочисленного аргумента, затем ее вычисление продолжить на разностной машине. Бэбидж находит первые и вторые разности функции (см. табл. 3). Затем, анализируя таблицу, он выявляет, что величины вторых разностей, соответствующих последовательным значениям функции, всегда равны единицам этих значений (в таблице 3, во втором и четвертом столбцах, подчеркнуты равные между собой однозначные величины 2, 4, а также единицы двузначных чисел: 0 от 10; 6 от 16; 8 от 28 и т. д., соответственно равные вторым разностям 0, 6, 8 и т. д.).