Il robot che fa la spesa

Un robot si può muovere tra diversi posti e comprare oggetti. Per comprare un oggetto deve essere in un posto in cui si vende tale oggetto. Dopo aver comprato un oggetto, il robot lo possiede. Descrivere tale dominio in Prolog, utilizzando i fluenti:

e le azioni primitive: Si utilizzi un predicato statico sells(X,Y) per rappresentare il fatto che nel posto X si vende l'oggetto Y.

Scrivere le procedure:

  1. go_and_buy(X) che conduca il robot ad andare in un posto in cui si vende X e comprarlo.
  2. compratutti(L), dove L è una lista Prolog: il robot compra tutti gli oggetti della lista L (si ricordi che le azioni di test Golog possono essere costituite dall'invocazione di un goal Prolog).

 
Soluzione proposta



marta
2012-04-17