Для составления программы мытья посуды после обеда, использующей подпрограмму Мыть (коробочка: посуда), следует учесть команды, которые исполнитель понимает. Будем предполагать, что мы имеем три типа посуды: тарелки, вилки и ножи.
Ниже приведена программа мытья посуды после обеда:
Программа МытьПосудуПослеОбеда
Вызвать Мыть (тарелки)
Вызвать Мыть (вилки)
Вызвать Мыть (ложки)
) (* конец программы *)
Подпрограмма Мыть (коробочка: посуда)
Открыть кран
Для каждой посуды
Взять посуду
Вымыть посуду под краном
Положить посуду в сушилку
Конец для
Закрыть кран
Возврат
Вызвать Мыть (тарелки)
Мыть (["тарелки"])
Вызвать Мыть (вилки)
Мыть (["вилки"])
Вызвать Мыть (ложки)
Мыть (["ложки"])
В этой программе мы сперва вызываем подпрограмму МытьПосудуПослеОбеда, которая в свою очередь использует подпрограмму Мыть. Подпрограмма Мыть принимает список посуды (в данном случае это тарелки, вилки и ложки), затем открывает кран, поочередно берет, моет и кладет каждый экземпляр посуды в сушилку, а в конце закрывает кран.
Таким образом, эта программа обеспечит эффективное мытье всей посуды после обеда.