Исполнение программы
После запуска машина будет выполнять команды в той последовательности,
в какой они размещены в ячейках. Согласно первой команде (3-21-21-19)
начальное значение радиуса (500), хранящееся в ячейке № 21, будет умножено
само на себя, а полученное произведение (квадрат радиуса) помещено в свободную
пока что ячейку № 19.
Согласно второй команде (3-19-20-19) это произведение (R2)
будет умножено на число Пи, хранящееся в ячейке № 20, с помещением
результата в ячейку № 19 (при этом ранее записанное там число автоматически
стирается, подобно старой фонограмме при записи звука на магнитофоне).
Согласно третьей команде (7-21-00-01) значение радиуса из ячейки
№ 21 будет отпечатано печатающим аппаратом № 1, заполняющим первую графу
таблицы. Согласно четвертой команде (7-19-00-02) печатающим аппаратом
№ 2 во второй графе таблицы будет отпечатано соответствующее значение площади
круга, взятое из ячейки № 19. Последующие команды служат для перехода к
вычислению площади круга для новых значений радиуса или для окончания работы,
когда все требуемые значения уже исчерпаны. Согласно пятой команде
(1-21-23-21) к старому значению радиуса (500) прибавляется 2, причем полученный
результат (новое значение радиуса 502) направляется в ту же ячейку № 21,
где находилось прежнее значение радиуса.
Согласно шестой команде (8-21-22-01) производится сравнение двух
чисел с адресами № 21 и 22. Если первое из них меньше второго или равно
ему, то машина возвращается к выполнению команды № 1, указанной в третьем
адресе, в противном же случае она просто переходит к выполнению следующей
(очередной) команды. В нашем случае новое значение радиуса (из ячейки №
21) сравнивается с наибольшим его значением, для которого еще нужно вычислять
площадь круга. Если новое значение радиуса не больше 1000, машина проделывает
над ним те же самые вычисления начиная с первой команды и, таким образом,
заполняет еще одну строку таблицы. Если же новое значение радиуса больше
1000, то машина переходит к выполнению седьмой команды, согласно
которой она попросту останавливается с подачей на пульт управления сигнала
об окончании вычислений.
В работе вычислительной машины команда сравнения "6" и другие подобные
ей команды "условного перехода" имеют исключительное значение. Они увеличивают
гибкость машины, расширяют ее возможности и позволяют выполнять действия,
для которых она на первый взгляд вовсе не приспособлена.
Многократное повторение одной и той же последовательности действий позволяет
производить длинные вычисления по сравнительно короткой программе (иначе
ведь составление программы и введение ее в машину потребовало бы, пожалуй,
не меньше времени, чем вычисления вручную). Еще эффективнее другой прием
сокращения программы, который состоит в систематической переработке ее
в процессе самих вычислений. Ведь все команды программы изображаются числами,
хранящимися в запоминающем устройстве на равных правах с исходными данными
и промежуточными результатами. Ничто не мешает нам производить над этими
числами арифметические действия и тем самым превращать одни команды в другие.
Конечно, все эти преобразования команд на определенном этапе вычислений
или при получении определенных результатов должны быть заранее предусмотрены
самой программой (подобно тому как устав всякой общественной организации
в числе других правил содержит обычно также и правила изменения самого
устава).
|