Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Prova d'esame informatica gestionale, Prove d'esame di Informatica gestionale

Prova d'esame informatica gestionale 2020

Tipologia: Prove d'esame

2023/2024

Caricato il 06/07/2024

bibo-ps4-1
bibo-ps4-1 🇮🇹

1 documento

1 / 6

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
24 Luglio 2020
Esame di Fondamenti di Informatica
per Ing. Gestionale
Compito A - Durata 1h45'
Istruzioni (leggere attentamente)
Note
La mancata osservanza delle seguenti regole può comportare la perdita di informazioni
necessarie alla valutazione dell'esame.
Cartella di esame e registrazione dei dati dello studente
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.
Svolgimento degli esercizi
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
pf3
pf4
pf5

Anteprima parziale del testo

Scarica Prova d'esame informatica gestionale e più Prove d'esame in PDF di Informatica gestionale solo su Docsity!

24 Luglio 2020

Esame di Fondamenti di Informatica

per Ing. Gestionale

Compito A - Durata 1h45'

Istruzioni (leggere attentamente)

Note

La mancata osservanza delle seguenti regole può comportare la perdita di informazioni necessarie alla valutazione dell'esame.

Cartella di esame e registrazione dei dati dello studente

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.

Svolgimento degli esercizi

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.

Teoria

  1. Specificare quale delle seguenti affermazioni è FALSA: A) I numeri decimali positivi esponenti di 2 (2**k con k >= 0) hanno una rappresentazione in complemento a 2 contenente un solo 1 e tutti 0 B) Nella rappresentazione in complemento a 2 il numero decimale 0 ha un’unica rappresentazione C) La IEEE ha definito formati standard per la rappresentazione dei numeri in virgola mobile in singola e doppia precisione che sono adottati dalla maggior parte dei calcolatori D) La rappresentazione in complemento a due del numero decimale 23 con 8 bit è 00010011
  2. Specificare quale delle seguenti affermazioni è VERA riguardo le classi: A) La classe è l’istanza di un oggetto B) Possiamo sempre confrontare due oggetti della stessa classe tramite l’operatore di uguaglianza == C) Gli oggetti sono mutabili D) Il metodo di inizializzazione definito come init è un metodo speciale invocato quando si crea un oggetto

Esercizi

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 + numerogiornii = 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)

  • 10 (abilità Francesco) + 6 (abilità Irene) - 15 (contributo None) + 2 (abilità Simone)
  • 2 - 15 - 15 + 7 (abilità Riccardo) + 11 (abilità Andrea) + 7 = 3 , con il livello massimo di 19 raggiunto al giorno 2 del mese.

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.