



Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prova d'esame informatica gestionale 2020
Tipologia: Prove d'esame
1 / 6
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!




La mancata osservanza delle seguenti regole può comportare la perdita di informazioni necessarie alla valutazione dell'esame.
L’esame deve essere svolto preferibilmente nella macchina virtuale BIAR ESAME. L’uso di un ambiente differente può causare problemi e quindi la bocciatura. Entrare nella cartella e, prima di iniziare il compito, eseguire il programma registrazione.pyc (o eseguire registrazione.py). Inserire i dati personali fornendo (separatamente) Numero di Matricola, Cognome e Nome. Il programma genera un file studente.txt che non deve essere modificato manualmente. Verificare che i dati nel file studente.txt siano corretti; in caso di errore potete rieseguire il programma registrazione.pyc. Non spostare il file in un’altra posizione.
Leggere attentamente il testo e risolvere gli esercizi proposti. Per ogni esercizio avete una cartella EsercN che contiene un file dal nome A_ExN.py (dove N è il numero dell’esercizio) con lo scheletro della soluzione. Il file A_S_ExN.pyc contiene la soluzione precompilata dell'esercizio proposta dal docente. L'unico file da modificare è A_ExN.py. Nel vostro interesse, non modificate altri file (ad esempio contenenti dati di test). Non create nuovi file. Non spostate i file.
Per verificare la correttezza di un esercizio DOVETE usare il programma TestEx.pyc (o eseguire TestEx.py), che proverà la vostra soluzione su un certo numero di casi di test, mostrandovi il confronto tra i risultati ottenuti con la vostra soluzione e usando la soluzione proposta dal docente. Ciò ha lo scopo di facilitarvi nella ricerca e correzione di eventuali errori. ATTENZIONE: potreste ricevere un messaggio di errore che dice che siete nella cartella sbagliata, IGNORATELO. Ricordiamo comunque che in sede di correzione da
parte dei docenti le vostre soluzioni verranno provate su dati di test diversi da quelli usati durante l'esame. E' possibile consultare la documentazione ufficiale del linguaggio Python (ad esempio premendo F1 all'interno dell'ambiente di programmazione Idle), ma non è possibile usare libri o appunti. In caso di problemi tecnici chiedere ai docenti o ai tecnici del laboratorio.
1. A_Ex1() (8 punti) Si implementi una funzione A_Ex1(l1,l2) che prenda come parametri due liste l1 ed l2, rispettivamente di dimensione N e M. Si assuma che l1 = [i(0),i(1),...,i(N-2),i(N-1)] e l2 = [j(0),j(1),...,j(M-2),j(M-1)] dove gli elementi i-esimi e j-esimi possono essere numeri interi, oppure stringhe che rappresentano numeri interi. La funzione deve restituire una nuova lista l3 contenente N*M elementi di tipo intero, composta come segue:
e. un intero puliziainiziale indicante il valore rilevato del livello di pulizia in casa all’inizio del giornoiniziale
La funzione restituisce una tupla (puliziacalcolata, puliziamax, giornopuliziamax) in cui la puliziacalcolata indica il livello di pulizia della casa al termine del periodo di verifica: p uliziacalcolata = puliziainiziale + ∑
giornoiniziale + numerogiorni − i = giornoiniziale
pi. abilita
dove pi è la persona che deve pulire nel giorno i del mese, il cui nome deve essere opportunamente identificato nella matrice ed usato come chiave nel dizionario d. Se in uno specifico giorno all’interno della matrice troviamo il valore None, pi. abilita =− 15 , il che indica che il livello della pulizia di casa decresce poichè nessuno ha effettuato le pulizie.
La puliziamax è il valore massimo raggiunto dalla pulizia nel corso del periodo di osservazione ed il giornopuliziamax è il giorno del mese in cui questo massimo si raggiunge (se lo stesso valore è raggiunto in giorni diversi si restituisce il primo giorno).
Esempio: m = [["Francesco", "Irene", None, "Simone", "Simone", None, None], ["Riccardo", "Andrea", "Riccardo", None, None, None, "Donatella"], ["Andrea", "Francesco", None, None, "Simone", "Francesco", "Irene"], ["Andrea", "Andrea", "Francesco", "Francesco", None, "Irene", "Donatella"], ["Francesco", "Riccardo", "Riccardo", None, None, None]] d= {"Francesco": Persona.Persona("Francesco","M",10), "Irene": Persona.Persona("Irene", "F", 6), "Riccardo": Persona.Persona("Riccardo", "M", 7), "Andrea": Persona.Persona("Andrea", "M", 11), "Simone": Persona.Persona("Simone", "M", 2), "Donatella": Persona.Persona("Donatella", "F", 4)} giornoiniziale = 1 numerogiorni = 10 puliziainiziale = 3
restituisce (3,19,2), infatti la pulizia finale raggiunta si otterrà come 3 (puliziainiziale)
3. A_Ex3() (8 punti) Scrivere una funzione A_Ex3 che prende in ingresso un file di testo con parole separate da : e una stringa s.
La funzione confronta le parole fornite dal file di testo con la stringa s data in ingresso alla ricerca di rime. Si intenda come rima una parola le cui ultime 3 lettere siano uguali alla parola data dalla stringa s. Si restituisca una lista di rime ordinata in maniera decrescente. Nel caso in cui il file è vuoto si ritorni False. Nel caso in cui non si trovino rime si ritorni False. Nel caso ci siano più occorrenze della stessa parola (rima) non si considerino ripetizioni nella lista finale.
Se il file di testo contiene le seguenti parole immesse in una lista: [prodotto importo unitario quantita rovinate cordate] e s="giocate" allora la funzione restituisce ['rovinate', 'cordate'] [braccio braccio liscio] e s="micio" allora [liscio, braccio] [sedia tavolo] e s="bicchiere" allora False
4. A_Ex4(g) (5 punti) Implementare la funzione A_Ex4(g) che dato in ingresso un oggetto g della classe Graph, restituisce il nome del vertice che ha il maggior numero di archi entranti. Se il vertice non è univoco, la funzione deve restituire il nome del vertice la cui stringa è lessicograficamente minore. Se il grafo è vuoto, la funzione deve restituire None.
Ad esempio, se il grafo fosse quello in figura, la funzione dovrebbe restituire '2'.
Il grafo delle connessioni è rappresentato in file txt (che lo studente può visionare per ricostruire il grafo su carta) ed ogni riga rappresenta un arco dal nodo di partenza (primo valore) al nodo di arrivo (secondo valore). Lo studente non si deve preoccupare di leggere il file txt e generare il grafo. Questa operazione viene effettuata automaticamente da TestEX.