Istruzioni pratiche per l'esame di laboratorio

Esercizio d'esame

Un piano è una sequenza di azioni. Per quello che riguarda questo compito, una azione è caratterizzata soltanto da un nome, dal tempo necessario per la sua esecuzione, e dalle sue precondizioni.

Esistono due tipi di precondizioni. Le precondizioni semplici sono caratterizzate solo da un nome (una stringa). Le precondizioni complesse sono invece caratterizzate dal loro nome e da un piano che le rende vere. In altre parole, per ognuna di queste precondizioni complesse viene fornito un piano che le rende soddisfatte.

Si realizzino le seguenti classi in un package piani:

Piano
una sequenza di azioni
Azione
una azione è caratterizzata da un nome (una stringa), una durata (un reale) e da un insieme di precondizioni
Precondizione
una precondizione può essere semplice o composta
PrecondizioneSemplice
una precondizione semplice è data solo da un nome (una stringa)
PrecondizioneComposta
una precondizione composta è data da un nome (una stringa) e da un piano che rende vera la precondizione

Le classi devono essere incapsulate, e non sono ammessi valori nulli. Le classi devono avere:

Realizzare anche due metodi (in una classe a parte al di fuori del package) che svolgono le seguenti funzioni: