Возможности вычислительных машин и человеческий разум



         

Глава 3. Как работают вычислительные машины - стр. 17


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

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




Содержание  Назад  Вперед