Прямоугольник А больше в явном виде не упоминается. Очевидно, что в прямоугольнике А к моменту, когда в нем возникает необходимость, содержится соответствующий, быть может, не упоминающийся операнд, а результат любой операции, скажем, сумма, полученная при сложении каких-либо чисел, заносится в него. С точки зрения вычислительной машины (противоположной точке зрения человека) этот код все еще чересчур пространен. Операционную часть кода
Таблица 3.1. Кодирование процедуры извлечения квадратного корня
СтрокаКомандаКомментарий
101 | INP121 | Возьмите из "ввода" число и перенесите его в строку 121 |
102 | GET 122 | Возьмите начальное приближение |
103 | STO123 | Введите его как "предыдущее приближение" в строку 123 |
104 | GET 123 | Возьмите "предыдущее приближение" |
105 | ADD 123 | Удвойте его |
106 | STO 124 | Перенесите "удвоенное предыдущее приближение" в строку 124 |
107 | GET 123 | Возьмите "предыдущее приближение" |
108 | MPY 123 | Умножьте его на него же |
109 | ADD 121 | Прибавьте к результату заданное число |
110 | DIV 124 | Разделите результат на "удвоенное предыдущее приближение" |
111 | STO 124 | Введите "новое приближение" в строку |
112 | SUB 123 | Вычтите "предыдущее приближение" из "нового приближения" |
113 | ABS | Возьмите полученный результат с плюсом |
114 | SUB 125 | Вычтите из последней величины значение допустимого отклонения |
115 | JGZ 118 | Если результат больше нуля, пропустите следующие два шага |
116 | OUT 124 | Передайте на "вход" новое приближение |
117 | STP | Стоп |
118 | GET 124 | Возьмите "новое приближение" |
119 | STO 123 | Перенесите его на место, занимаемое "предыдущим приближением" |
120 | JMP 105 | Вернитесь к началу "цикла" |
121 | 0 | Здесь должно храниться задаваемое число |
122 | 1,0 | Здесь должно храниться "первое предыдущее приближение" |
123 | 0 | Здесь должно храниться "предыдущее приближение" |
124 | 0 | Здесь должно храниться "новое приближение" |
125 | 0,001 | Здесь должно храниться значение допустимого отклонения |