Математика учит предсказывать и управлять

Исполнение программы

После запуска машина будет выполнять команды в той последовательности, в какой они размещены в ячейках. Согласно первой команде (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" и другие подобные ей команды "условного перехода" имеют исключительное значение. Они увеличивают гибкость машины, расширяют ее возможности и позволяют выполнять действия, для которых она на первый взгляд вовсе не приспособлена.

Многократное повторение одной и той же последовательности действий позволяет производить длинные вычисления по сравнительно короткой программе (иначе ведь составление программы и введение ее в машину потребовало бы, пожалуй, не меньше времени, чем вычисления вручную). Еще эффективнее другой прием сокращения программы, который состоит в систематической переработке ее в процессе самих вычислений. Ведь все команды программы изображаются числами, хранящимися в запоминающем устройстве на равных правах с исходными данными и промежуточными результатами. Ничто не мешает нам производить над этими числами арифметические действия и тем самым превращать одни команды в другие. Конечно, все эти преобразования команд на определенном этапе вычислений или при получении определенных результатов должны быть заранее предусмотрены самой программой (подобно тому как устав всякой общественной организации в числе других правил содержит обычно также и правила изменения самого устава).

Вверх