traccia - Dipartimento di Informatica

Università degli Studi di Salerno
Corso di laurea in Informatica
Prova di Laboratorio Programmazione 1
Docenti: De Marco, De Prisco, Senatore, Zizza
http://pcmaster-turing.csedu.unisa.it/esame
Nome
Cognome
Matricola
Spazio riservato
Compito del 22 luglio 2014
La signora Vendola Frutti ha la necessità di gestire le scorte di merce del proprio deposito. Per fare ciò
ha deciso di scrivere un programma che le permetta di sapere in maniera veloce alcune informazioni.
In particolare la signora Vendola vuole essere in grado di sapere velocemente le risposte alle seguenti
domande:
1. Dato un determinato tipo di frutta ed un peso x, dire se al momento sono disponibili almeno x
Kg di frutta non scaduta
2. Dato un determinato tipo di frutta ed un numero x di giorni, dire quanti Kg di frutta non
scaduta saranno disponibili fra x giorni e quanti invece saranno scaduti
Aiutare la signora Vendola scrivendo un programma fruttivendola che, dato un database che
memorizza la situazione del deposito, permette di esaminare il database come segue:
fruttivendola pere kg <x>
fruttivendola mele giorni <y>
Il primo comando permette di sapere se ci sono almeno x kg di pere non scadute, mentre il secondo
comando permette di sapere quanti kg di mele non scadute e quanti kg di mele scadute ci saranno fra y
giorni. Si noti che il secondo parametro è o kg oppure giorni.
Si assuma che il database sia memorizzato in un file il cui nome è fruttivendola.db, che il file contenga
le informazioni per ogni tipo di frutta nel seguente formato: <frutta> <Kg> <scadenza>, come
nell’esempio riportato di seguito:
pere 20 60
pere 10 30
pere 5 0
pere 8 -3
mele 30 80
mele 4 -2
mele 20 50
kiwi 5 25
kiwi 3 -4
banane 20 18
prugne 10 20
prugne 2 -1
pesche 8 12
La scadenza è espressa in giorni e si intende a partire dal momento della richiesta. Un numero
negativo indica che la merce è scaduta. Il database viene aggiornato automaticamente ogni giorno. Una
scadenza uguale a 0, significa che la merce scade oggi quindi non è ancora scaduta.
Ecco degli esempi di esecuzione (vedi pagina seguente):
Università degli Studi di Salerno
Corso di laurea in Informatica
Prova di Laboratorio Programmazione 1
Docenti: De Marco, De Prisco, Senatore, Zizza
http://pcmaster-turing.csedu.unisa.it/esame
Nome
Cognome
Matricola
Spazio riservato
prompt> ./fruttivendola mele kg 25
Si, ci sono 50 >= 25 kg di mele non ancora scaduti
prompt> ./fruttivendola prugne kg 25
Non ci sono prugne sufficienti
prompt> ./fruttivendola pere giorni 25
Fra 25 giorni ci saranno 30 kg non scaduti e 13 kg scaduti di pere
prompt>./fruttivendola kiwi giorni 30
Fra 30 giorni ci saranno 0 kg non scaduti e 8 kg scaduti di kiwi