В качестве иллюстрации процесса управления аналитической машиной с помощью перфокарт рассмотрим последовательность операций (программу работы) при расчете выражения (ab + c)d (табл. 4). Как видно из таблицы, для проведения расчета используются 14 управляющих перфокарт и 3 операционные.
Управляющие карты | Существо операций |
1 | Установить а на колонке 1 памяти |
2 | » b » 2 » |
3 | » е » 3 » |
4 | » d » 4 » |
5 | Вызвать а из памяти в арифметическое устройство |
6 | То же для b |
Операционная карта 1 (а x b = р) | |
7 | Установить р на колонке 5 памяти, где хранить для дальнейшего пользования |
8 | Вызвать р в арифметическое устройство |
9 | То же для c |
Операционная карта 2 (р + с = k) | |
10 | Установить к на колонке 6 памяти |
11 | Вызвать d в арифметическое устройство |
12 | То же для k |
Операционная кв рта 3 (d x k = p2) | |
13 | Установить р2 на колонке 7 памяти |
14 | Вывести р2 на печать или аппарат для изготовления стереотипных отпечатков |
1 | |
Для решения некоторой задачи в аналитическую машины вводятся исходные числа, записанные на цифровые перфокарты. Каждое число занимает один регистр памяти (колонку из десятичных цифровых колес), где оно хранится и используется по требованию. По окружности дисков колес выгравированы цифры от 0 до 9; каждый из дисков, насаженных на общую ось колонки, может совершать независимое вращательное движение. Результат операции также передается в память. Управляющие карты вводят колеса колонки в зацепление с зубчатыми рейками, через которые данное число (записанное на перфокарте или представляющее на колонке промежуточный результат) вводится в память. Одного оборота главного вала достаточно, чтобы установить число на колонке памяти или передать его из памяти к другой части машины.
Действие управляющих карт состоит в подъеме колес выбранных колонок таким образом, чтобы они были уравнены с зубчатыми рейками и введены в зацепление. При этом каждое колесо передвигается на число зубьев, соответствующее разряду числа. Для записи знака числа используется самое верхнее колесо в колонке. Промежуточные результаты вычислений фиксируются на колонках, которые в начале расчета устанавливаются на нуле. Каждой колонке памяти дается отдельная управляющая карта.
Генри Бэбидж впоследствии писал: «Следует отметить, что машина разработана для целей анализа, и применение аналитической машины для подсчета арифметических сумм равносильно использованию парового молота для битья орехов» или, говоря словами Лейбница: «Она сделана не для торговцев, а для обсерваторий и вычислителей» [85А с. 333].
Бэбидж считал, что аналитическая машина должна выполнять арифметические операции независимо от величины чисел, над которыми производятся операции; кроме того, она должна управлять комбинациями алгебраических символов вне зависимости от их количества, а также длины той последовательности операций, в которых они участвуют.
Из этих основных принципов Бэбидж сформулировал ряд следствий, которые на первый взгляд выглядели неправдоподобными. Он считал, что количество цифр в каждом числе, а также количество чисел, вводимых в машину, может быть неограничено; количество операций, которые могут производиться в любом порядке, может повторяться неограниченное число раз. Также может быть неограниченным число констант, переменных и функций, с которыми производятся различные операции.
Бэбидж понимал, что возможность осуществления этих принципов будет оспариваться многими, как с теоретической точки зрения, так и с точки зрения воплощения их в механической конструкции. Поэтому он приводит ряд интересных и тонких доказательств.
Бэбидж говорит, что машина, занимающая неограниченное пространство, удовлетворила бы всем выдвинутым требованиям. Но такую машину создать нельзя. Однако машину можно использовать неограниченное время.
И далее Бэбидж отмечает: «Замена бесконечности пространства бесконечностью времени позволила ограничить размер машины при сохранении ее неограниченной производительности» [85, с. 60].
Рассмотрим вслед за Бэбиджем на примере арифметических действий, как он предполагал осуществить свои идеи.