Насосы интуиции и другие инструменты мышления (Деннет) - страница 277

из 3 илииз 4?


Программа останавливается с нулем в регистре 4.


в. Какая возможная ошибка предотвращается обнулением регистраперед попыткой вычитания на шагевместо шага 4?


Если на старте и в регистре 1, и в регистре 2 были нули, в конце программа могла выдать абсурдный ответ (либо – 0, либо число, отличное от 0 и 1, в регистре знака).

упражнение 3

а. Нарисуйте граф потока (и напишите РПА-программу) для умножения содержимого регистрана содержимое регистра 3, поместив ответ в регистр 5.



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







в. (По желанию) Нарисуйте граф потока и напишите РПА-программу, которая изучает содержимое регистраи регистра(не разрушая их!) и записывает адрес (или 3) регистра с большим содержимым в регистр 2 или помещаетв регистр 2, если содержимое регистрови 3 равно. (После выполнения этой программы содержимое регистраи регистрадолжно остаться неизменным, а регистрдолжен показывать, равно ли их содержимое, а если нет, то в каком из регистров содержимое больше.)




упражнение 4 (по желанию)

Нарисуйте граф потока и напишите РПА-программу, которая превращает регистровую машину в простой карманный калькулятор, следующим образом:


а. Используйте регистрдля операции:


= ADD

= SUBTRACT

= MULTIPLY

= DIVIDE


б. Поместите числа, с которыми будут производиться манипуляции, в регистрыи 3.

(Таким образом, 3 0 6 будет означать+ 6; 5 1 3 будет означать 5–3; 4 2 5 будет означать* 5; а 9 3 3 будет означать÷ 3.) Затем поместите результаты операции в регистры 4–7, используя регистрдля знака (гдеозначает +, а 1 означает –), регистрдля численного ответа, регистрдля возможного остатка в случае деления, а регистрдля сообщения об ошибке ввода (либо требовании делить на ноль, либо неопределенной операции в регистре 2).





Источники

I. Введение

Мысленные эксперименты об эксцентричном тюремщике и драгоценностях в урне взяты с переработками из Elbow Room (Dennett 1984a).

II. Дюжина универсальных инструментов мышления

1. Глава “Совершая ошибки” сначала была статьей “How to Make Mistakes” (Dennett 1995b).

2. Глава “На основе пародии” ранее не публиковалась.

3. Глава “Правила Рапопорта”. В печатном виде я впервые перечислил эти правила в своих рассуждениях о книге Докинза “Бог как иллюзия” в работе