Совместные счета
Рассмотрим объекты-банковские счета, создаваемые процедурой
make-account
, и снабженные паролями, как это описано в упражнении
3.3
. Предположим, что наша банковская система требует от нас умения порождать совместные счета. Напишите процедуру
make-joint
, которая это делает.
Make-joint
должна принимать три аргумента. Первый из них — защищенный паролем счет. Второй обязан совпадать с паролем, с которым этот счет был создан, иначе
make-joint
откажется работать. Третий аргумент — новый пароль.
Make-joint
открывает дополнительный доступ к счету, с использованием нового пароля. Например, если банковский счет
peter-acc
был создан с паролем
open-sesame
, то
(define paul-acc
(make-joint peter-acc 'open-sesame 'rosebud))
позволит нам проводить операции с
peter-acc
, используя имя
paul-acc
и пароль
rosebud
. Вам может потребоваться переработать решение упражнения
3.3
, чтобы добавить эту новую возможность.
Комментарии отсутствуют.