При проектировании разностной машины Бэбидж предложил и частично реализовал ряд интересных технических идей. Так, он разделил выполнение операций переноса десятков при сложении на два такта: подготовительный (выполняется во время операции сложения) и собственно перенос. Это новшество, впоследствии широко применявшееся в механических вычислительных устройствах, позволило существенно снизить нагрузки на рабочие элементы машины. Проектируя связь между вычислительным блоком и печатающим устройством, Бэбидж предусмотрел возможность совмещения во времени процессов вычислений и печатания результатов.
Рис. 1. Разностная машина (1822)
Основное назначение разностной машины Бэбидж видел в составлении таблиц. Машина позволяла также проверять таблицы, составленные ранее. Для этого операции должны были производиться в обратном порядке, т. е. от полинома к конечным разностям. К примеру, если в табл. 2 при х=4 ошибочно рассчитан y (получилось 70 вместо 69), то вместо постоянных конечных разностей Δ>3=6 получится массив не равных друг другу разностей, и ошибка может быть легко замечена.
Операция проверки таблиц могла быть выполнена и другим путем. Бэбидж писал: «Если соответствующие числа размещены на выходе машины, и она завершила расчет одной страницы таблицы любого типа, то следует провести сравнение последнего табличного числа страницы с заранее рассчитанными. Если различие существует, то наиболее эффективное решение заключается в пересчете целой страницы, т. е. потере всего лишь нескольких часов работы» [83, с. 125].
В общем случае область применения разностной машины Бэбиджа сводилась к вычислению значений функций вида
y = a + bx + cx>2+ ... + mx>n-1.
Если требовалось рассчитать сумму сходящегося бесконечного ряда, то брали только первые п членов. При достаточно большом п функция, выраженная рядом, могла воспроизводиться достаточно точно и степень этой точности была известна.
Таблица 2. Значения функции y = x>3 + x + 1 и конечных разностей (при ошибочном подсчете x>4 = 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 | | |
Принцип, положенный в основу разностной машины, мог быть использован для расчета, например кубов чисел, логарифмических и тригонометрических таблиц и т. п. При этом во многих случаях приходилось брать большое число разностей, прежде чем достигалось постоянное значение, а это, в свою очередь, означало, что на машине нужно было произвести довольно много действий, чтобы получить табличное значение функции.