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

         

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


Это преобразование, вызываемое ассемблером, имеет важное следствие: программист, составляющий программу для вычислительной машины, пользуясь исключительно ассемблером, совершенно не должен изучать язык, определяемый самой вычислительной машиной - ее машинный язык. Существенно, что в каком-то смысле он никогда не видит той машины, с которой он в действительности имеет дело; он видит некоторый символьный артефакт, который для него и есть машина, и работает с ним.

Программистам не потребовалось много времени, чтобы осознать следующее: возможности вычислительной машины при обработке символов можно использовать и для трансляции языков еще более "высоких уровней". Обратимся, например, к следующему отрывку текста на языке ассемблера:

GET a
ADD b
STO с

Располагая даже теми минимальными сведениями, которые были изложены ранее, можно понять, что этот отрывок представляет собой закодированное алгебраическое выражение с=а+b.

Очевидно, что чрезвычайно простая процедура обеспечит трансляцию алгебраического выражения в приведенный выше отрывок текста на языке ассемблера. Теперь, не обращая особого внимания на детали, можно сказать, что следующий ниже фрагмент представляет закодированную процедуру извлечения квадратного корня, которой мы уже посвятили так много времени.

Процедура SQRT (n):

Возьмите допустимое отклонение = 0,001;

Возьмите предыдущее приближение = 0;

Возьмите новое приближение = 1;

До тех пор пока |предыдущее приближение - новое приближение| > допустимого отклонения,

делайте:

предыдущее приближение=новое приближение;

новое приближение = (предыдущее приближение ** 2 + n ) / 2 * предыдущее приближение;

Конец;

Результат = новое приближение;

Конец процедуры SQRT.

[Прим. перев.: Название процедуры извлечения корня SQRT - аббревиатура, образованная на основе соответствующего английского термина]

Трансляция этой процедуры на язык ассемблера осуществляется сравнительно просто. В сущности на нескольких предыдущих страницах мы именно этим и занимались.


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