• Non ci sono risultati.

Corso di Linguaggi Dinamici A.A. 2010/2011 Esercitazione 3 – 18 maggio 2011

N/A
N/A
Protected

Academic year: 2021

Condividi "Corso di Linguaggi Dinamici A.A. 2010/2011 Esercitazione 3 – 18 maggio 2011"

Copied!
1
0
0

Testo completo

(1)

Corso di Linguaggi Dinamici A.A. 2010/2011

Esercitazione 3 – 18 maggio 2011

Esercizio 1. Si introduca una funzionalità di configurazione nell'applicazione zoo.py. A tal scopo, si faccia uso del modulo software ConfigParser (o equivalente). Il file config.ini rappresenta la configurazione tipo da implementare.

Tempo a disposizione: 40 minuti.

Esercizio 2. Si implementi un logger per l'applicazione zoo.py. A tal scopo, si faccio uso del modulo software logging (o equivalente). Il file zoo.log rappresenta il log tipo da implementare. È lasciata la massima libertà sull'utilizzo di messaggi di livello diverso da INFO.

Tempo a disposizione: 10 minuti.

Esercizio 3. Si sviluppi una GUI primitiva per l'applicazione zoo.py. A tal scopo Si faccia uso della classe gtk o, in alternativa, dell'applicazione Glade. L'interfaccia dovrà contenere almeno i seguenti elementi:

• un dialogo di file per l'apertura e la lettura del file di configurazione

• un buffer di testo in cui scrivere lo stesso output che andrà nel file di log

• un bottone Quit per l'uscita dal programma

Tempo a disposizione: 40 minuti.

Esercizio 4 (opzionale, per casa). Si sostituisca il buffer di testo con un'area di disegno all'interno della quale sono mostrate delle icone rappresentative degli animali. Si arricchisca la classe Animale con una informazione correlata alle coordinate all'interno dell'area di disegno e allo spazio percorso.

Si modifichi il metodo muovi() in modo tale da generare una nuova posizione casuale e da aggiornare lo spazio percorso. Si aggiorni l'area di disegno in maniera opportuna.

Riferimenti

Documenti correlati

I nomi possono essere contenuti in array; per la generazione di numeri casuali si faccia affidamento alla funzione random (pydoc random); per le attese, si faccia

In particolare, dato il nome del file contenente i post, blogAdd dovrà leggere il contenuto del file ed effettuarne l’unpickling in una lista.. Quindi, dovrà leggere la data e

• congruità dei risultati degli altri metodi su input normali (stringhe/interi non nulli). Nella fase di setUp è necessario creare un oggetto della classe

• print_list(l) che stampa tutti gli elementi di una lista passata come parametro entrambe le funzioni devono sfruttare solo le 4 operazioni messe a disposizione da Lista. Tempo

Ciascuna istanza di animale è rappresentata tramite un oggetto appartenente ad una sottoclasse della classe Animale, che definisce il comportamento

Il costruttore della classe Parser.py prende in ingresso il nome di un file e costruisce un dizionario multilivello D del tipo:. D[1.0][nome] = 'cavallo1'

Il dialogo di selezione file permette di impostare un nuovo file di configurazione e di reinizializzare lo stato interno dello zoo.. Infine, l'intervallo di

L'applicazione zoo_stats.py prende in ingresso il file di log generato da zoo.py, estrae lo spazio medio percorso da tutti gli animali presenti nello zoo, genera altrettanti