Autorità Garante della Concorrenza e del Mercato Autorità Nazionale Anticorruzione

Documenti analoghi
Esercizi riassuntivi (Fondamenti di Informatica 2 Walter Didimo) Soluzioni

Fondamenti di Informatica e Programmazione

Programmazione a Oggetti e JAVA. Prof. B.Buttarazzi A.A. 2012/2013

La Ricorsione. Carla Binucci e Walter Didimo

Esercitazione 3. Vincoli di integrità. Approccio Procedurale

Algoritmi e Strutture Dati & Laboratorio di Algoritmi e Programmazione

Monday, January 10, Introduzione

TEST 1. 1) L istruzione è:

Parte 2. Ricorsione. [M.C.Escher Drawing hands, 1948] - AA. 2012/13 2.1

Programmazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre Negli esercizi proposti si utilizzano le seguenti classi:

Esame di Algoritmi e Strutture Dati Corso di Laurea in Ingegneria Informatica Canali A-L, M-Z

Esercitazione 8. Corso di Tecniche di programmazione. Laurea in Ingegneria Informatica

Criteri da tenere a mente

LE STRUTTURE DATI DINAMICHE: GLI ALBERI. Cosimo Laneve

Corso: Fondamenti di Informatica 1 (gruppo 8-9) Corsi di laurea: Area dell'informazione Simulazione del Questionario a Risposte Multiple.

ALBERI : introduzione SOMMARIO ALBERI ALBERI. ALBERI: introduzione ALBERI BINARI: introduzione VISITE RICORSIVE DI ALBERI

Algoritmi e strutture dati 16 Dicembre 2004 Canali A L e M Z Cognome Nome Matricola

Databases. Architettura di un DBMS: Struttura ad indice per i files, B + -Trees

Progettazione di Algoritmi

Esempio: il fattoriale di un numero fact(n) = n! n!: Z! N n! vale 1 se n " 0 n! vale n*(n-1)! se n > 0. Codifica:

Fondamenti di Informatica A. A / 1 9

Basi di dati Appello del Compito B

Corso: Fondamenti di Informatica 1 (gruppo 8-9) Corsi di laurea: Area dell'informazione Questionario di autovalutazione 4

Esercizi parte 3. La classe ArrayBinTree dovra implementare, tra le altre, l operazione seguente: padre: dato un nodo, restituire l indice del padre.

Operativamente, risolvere un problema con un approccio ricorsivo comporta

Corso: Fondamenti di Informatica (Gruppo 2) a.a Corsi di laurea: Ing. Settore Informazione

Esercizi di Algoritmi e Strutture Dati

Indice. Prefazione. 3 Oggetti e Java 53

Cast implicito. Il cast è fatto automaticamente quando un tipo più basso viene assegnato ad un tipo più alto. byte short int long float double

Memorizzazione di una relazione

Alberi. Strutture dati: Alberi. Alberi: Alcuni concetti. Alberi: definizione ricorsiva. Alberi: Una prima realizzazione. Alberi: prima Realizzazione

Esercizi sulla ricorsione

Fondamenti di Informatica T. Linguaggio C: Stack e Ricorsione

7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari

Esame di Basi di Dati

Programmazione I - corso B a.a prof. Viviana Bono

Corso di Laurea in Informatica Basi di Dati a.a

Calcolare x n = x x x (n volte)

Soluzioni della settima esercitazione di Algoritmi 1

Algoritmi e Strutture Dati

RICERCA BINARIA...1 ALBERO BINARIO DI RICERCA (ABR)...3 RICORSIONE...4 ESEMPI DI RICORSIONE IN VISUAL BASIC...5 ESEMPI DI RICORSIONE IN C / C++...

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Perché il linguaggio C?

Unità 3. Modello Relazionale

Alberi binari e alberi binari di ricerca

Microsoft Access. Nozioni di base. Contatti: Dott.ssa Silvia Bonfanti

LA RICORSIONE LA RICORSIONE

Soluzione della prova scritta del 5 febbraio 2013

Alberi e alberi binari I Un albero è un caso particolare di grafo

Scope delle variabili e passaggio parametri. Danilo Ardagna Politecnico di Milano

Progettazione logica relazionale. Basi di dati. Elena Baralis 2007 Politecnico di Torino D B M G D B M G3 D B M G6 D B M G5

Esercitazione n 2. Obiettivi

Alberi e alberi binari I Un albero è un caso particolare di grafo

SQL e linguaggi di programmazione. Cursori. Cursori. L interazione con l ambiente SQL può avvenire in 3 modi:

Informatica 3. Informatica 3. LEZIONE 23: Indicizzazione. Lezione 23 - Modulo 1. Indicizzazione. Introduzione. Indicizzazione:

Moltiplicazione veloce di interi

Algoritmi di Ricerca. Esempi di programmi Java

Alberi binari e alberi binari di ricerca

UNIVERSITA DEGLI STUDI ROMA TRE DIPARTIMENTO DI MATEMATICA E FISICA

Algoritmi e strutture dati 1 luglio 2004 Canali A L e M Z Cognome Nome Matricola

14 - Metodi e Costruttori

Esercizio. 2 i=i*2) j=j*2)

Progettazione logica relazionale (1/2) Progettazione logica. Progettazione logica relazionale (2/2) Introduzione. Progettazione logica

PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

SQL. Il nome sta per Structured Query Language Le interrogazioni SQL sono dichiarative

Laboratorio di Algoritmi e Strutture Dati. Esercizi

Indici con gli alberi

BASE DI DATI. Esercizi Progettazione concettuale Progettazione logica. Informatica Umanistica Università di Pisa

METODI in Java. Prof.Angela Bonifati. Metodi e Sottoprogrammi

d. Cancellazione del valore 5 e. Inserimento del valore 1

SOMMARIO STACK. STACK: specifica STACK

Esame di Algoritmi e Strutture Dati Corso di Laurea in Ingegneria Informatica Canali A-L, M-Z 28 giugno 2005 tempo a disposizione: 2 ore

Note per la Lezione 4 Ugo Vaccaro

Esercitazione n 2. Obiettivi

OOP in C++ ha membro (dati membro) e funzioni membro In Java i dati membro sono chiamati attributi e le funzioni membro metodi

Progettazione di Algoritmi Anno Accademico Esercizi su Grafi: Parte Prima

Sommario. Tipo stringa: string. Tipo stringa: stile C. Tipo stringa Tipo booleano

Programmazione. Cognome... Nome... Matricola... Prova scritta del 20 febbraio 2012

Fondamenti di Programmazione - Prof.ssa Gargano Anno Acc Esercitazioni 2009

Alberi binari e alberi binari di ricerca

Array di array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 03. A. Miola Febbraio 2008

Esercitazione. Ricorsione. May 31, Esercizi presi dal libro di Rosen

Esonero del corso di Programmazione a Oggetti

Laboratorio di Programmazione 1 [Java]

Strutture dati. Le liste

Alberi. CORDA Informatica. A. Ferrari. Testi da. Marco Bernardo Edoardo Bontà. Dispense del Corso di. Algoritmi e Strutture Dati

Gestione dei compiti

Heap e Code di Priorità

Progettazione di basi di dati

Basi di Dati: Elementi

Progettazione di basi di dati. Progettazione di basi di dati

OCA JAVA 7 SE PROGRAMMER I DOCENTE: DOTT. FAUSTO DELL ANNO

Basi di dati e Relazioni

Transcript:

Autorità Garante della Concorrenza e del Mercato Autorità Nazionale Anticorruzione Concorso pubblico, per titoli ed esami, a 2 posti nella qualifica di funzionario in prova, uno nel ruolo della carriera direttiva dell Autorità Garante della Concorrenza e del Mercato (VI livello della scala stipendiale) e uno nel ruolo dell Autorità Nazionale Anticorruzione (Categoria A, parametro retributivo F1), per lo svolgimento di attività di indagine, progettazione, sviluppo e di reverse engineering di software, algoritmi e data base. (G.U. - IV^ Serie speciale - Concorsi ed esami, n. 56 del 25/7/2017). Prova scritta del 21 marzo 2018 TRACCIA n 1 Domanda 1. A quale fra le seguenti categorie appartiene un grafo con n > 1 nodi e m = 0 archi? 1. DAG 2. Grafo completo 3. Grafo connesso 4. Grafo fortemente connesso Domanda 2. Quale fra le seguenti di norma non è una proprietà delle funzioni hash? 1. Suriettività 2. Iniettività 3. Determinismo 4. Tempo di calcolo indipendente dal numero di chiavi in tabella Domanda 3. l minimo numero di foglie di un albero binario di n nodi è 1. 1 2. log 2 n 3. n-1 4. 2 n Domanda 4. Si consideri il seguente metodo per il calcolo del fattoriale public static long fattoriale(long n) { if (n == 0) return 1; else return n * fattoriale(n-1); Quale delle seguenti affermazioni è vera?

1. Il record di attivazione relativo a fattoriale(2) viene sempre rimosso dallo stack prima del record di attivazione relativo a fattoriale(3). 2. Il record di attivazione relativo a fattoriale(3) viene rimosso dallo stack prima del record di attivazione relativo a fattoriale(2). 3. Il record di attivazione relativo a fattoriale(3) può essere rimosso dallo stack prima del record di attivazione relativo a fattoriale(2) in casi particolari. 4. Non è possibile stabilire a priori se il record di attivazione relativo a fattoriale(3) venga rimosso dallo stack prima di quello relativo a fattoriale(2), in quanto ciò dipende dal valore di n. Domanda 5. Si consideri il seguente frammento di codice: public class PezzoMusicale { public static void riproduci(pezzomusicale i) { i.play(); public void play() { /* altro codice */ Quale delle seguenti istruzioni genera un errore in fase di compilazione? 1. PezzoMusicale canzone = new PezzoMusicale(); PezzoMusicale.riproduci(canzone); 2. PezzoMusicale canzone = new PezzoMusicale(); canzone.riproduci(canzone); 3. PezzoMusicale canzone = new PezzoMusicale(); PezzoMusicale.play(); 4. PezzoMusicale canzone = new PezzoMusicale(); canzone.play(); Domanda 6. Quale delle seguenti affermazioni è vera? Il tempo di vita di una variabile di istanza coincide con il tempo di vita: 1. del programma in cui viene usata. 2. del metodo che per primo la accede. 3. della classe a cui appartiene. 4. dell'oggetto a cui appartiene. Domanda 7. La nozione di "relazione" è alla base del modello relazionale dei dati. Quale delle seguenti affermazioni è vera? 1. Una relazione nel modello relazionale è definita come una relazione matematica, ovvero come un sottoinsieme del prodotto cartesiano di N insiemi di valori, dove N è il grado della relazione; 2. Una relazione nel modello relazionale è definita come una relaziona matematica, ma con la differenza che le tuple che compongono la relazione (dette tuple) sono ordinate; 3. Una relazione nel modello relazionale è una tabella che può essere anche infinita; 4. Una relazione nel modello relazionale è un multiinsieme di tuple.

Domanda 8. La reificazione di una relazione è una operazione prevista nella metodologia di progettazione concettuale di basi di dati e consiste nella trasformazione di una relazione in una entità. Quale delle seguenti affermazioni sulla reificazione di una relazione è corretta? 1. Se la relazione R ha n ruoli, allora la reificazione della relazione R produrrà una entità che parteciperà ad n relazioni, dove ciascuna partecipazione sarà caratterizzata dalla cardinalità (1,1). 2. La reificazione di una relazione può essere applicata solo se la relazione non ha attributi. 3. La reificazione di una relazione produce una nuova relazione in ISA con quella originaria. 4. Se la relazione R è in ISA con un'altra relazione, allora non può essere oggetto di reificazione. Domanda 9. Si considerino le relazioni Persona(x) che indica che x una persona, Auto(x,y), che indica che x è un automobile di colore y, e piace(x,y), che indica che a x piace y. Si esprimano in SQL le seguenti query: 1. Restituisci le persone a cui piace almeno un auto rossa ed una blu. 2. Restituisci le persone a cui piacciono almeno 2 auto rosse. Domanda 10. Si considerino le relazioni Persona(x) che indica che x una persona, Auto(x,y), che indica che x è un automobile di colore y, e piace(x,y), che indica che a x piace y. Si esprimano in SQL le seguenti query: 1. Restituisci le persone a cui piacciono solo auto rosse. 2. Restituisci le persone a cui piacciono tutte le auto rosse. Roma, 21 marzo 2018

Autorità Garante della Concorrenza e del Mercato Autorità Nazionale Anticorruzione Concorso pubblico, per titoli ed esami, a 2 posti nella qualifica di funzionario in prova, uno nel ruolo della carriera direttiva dell Autorità Garante della Concorrenza e del Mercato (VI livello della scala stipendiale) e uno nel ruolo dell Autorità Nazionale Anticorruzione (Categoria A, parametro retributivo F1), per lo svolgimento di attività di indagine, progettazione, sviluppo e di reverse engineering di software, algoritmi e data base. (G.U. - IV^ Serie speciale - Concorsi ed esami, n. 56 del 25/7/2017). Prova scritta del 21 marzo 2018 TRACCIA n 2 Domanda 1. Qual è il minimo numero di nodi pozzo (grado di uscita = 0) in un DAG? 1. 1 2. 0 3. 2 4. 3 Domanda 2. Quale delle seguenti proposizioni è falsa? 1. n 2 O(n 3 ) 2. n + log n O(log n) 3. n log n O (n) 4. log (n 10 ) O(log n) Domanda 3. Qual è il costo di cancellazione di una chiave in un albero di ricerca binario (BST)? 1. O(1) 2. O(log n) 3. O(n) 4. O(n log n) Domanda 4. Si consideri il seguente metodo, assumendo che esso sia invocato con valore del parametro n > 0: public static long myfatt(long n) { if (n == 0) return 1; else return n * myfatt(n);

Quale delle seguenti affermazioni è vera? 1. Il metodo non è ricorsivo, in quanto tutte le invocazioni avvengono con lo stesso valore del parametro di ingresso. 2. Non è possibile stabilire a priori se il metodo determini un'eccezione o meno, in quanto tale evento dipende dal valore di n. 3. L'esecuzione del metodo causa un overflow dello stack in quanto determina un numero potenzialmente infinito di invocazioni ricorsive. 4. Il metodo viene invocato ricorsivamente 11 volte. Domanda 5. Si consideri il seguente metodo (il cui corpo è volutamente privo di indentazione): public static int f (int a, int b, int c) { if (a>b) if (b>c) return a; else return c; return b; Si assuma che il metodo venga invocato con i seguenti paramentri attuali: f(10, 5, 7). Quali delle seguenti affermazioni è vera? 1. L'else fa riferimento al primo if. Il metodo restituisce quindi 5. 2. L'else fa riferimento al secondo if. Il metodo restituisce quindi 7. 3. Il metodo causa un errore a tempo di compilazione, perché il compilatore non sa a quale if riferire l'else. 4. Il metodo causa un errore a tempo di esecuzione, perché la JVM non sa a quale if riferire l'else. Domanda 6. Quale delle seguenti affermazioni è vera? Una variabile locale è visibile: 1. in tutti i metodi della classe in cui la variabile appare. 2. nel solo metodo in cui la variabile appare. 3. nel solo blocco di istruzioni {... in cui la variabile appare. 4. in tutte le classi del programma, purché siano compilate nella stessa directory. Domanda 7. Quale delle seguenti affermazioni è vera? 1. Un vincolo di foreign key tra un attributo A di una relazione R ed una relazione Q impone che non esistono due tuple di R con lo stesso valore dell'attributo A. 2. Un vincolo di foreign key (chiave esterna) tra un attributo A di una relazione R ed una relazione Q impone che anche la chiave di Q sia un attributo di nome A. 3. Un vincolo di foreign key tra un attributo A di una relazione R ed una relazione Q impone che ogni valore che compare in A compare anche nella chiave primaria di Q. 4. Un vincolo di foreign key tra un attributo A di una relazione R ed una relazione Q implica che il valore nullo non può comparire in A. Domanda 8. La fase di progettazione logica di basi di dati procede attraverso i passi di ristrutturazione dello schema concettuale, traduzione diretta e ristrutturazione dello schema logico. Quale delle seguenti affermazioni sulla progettazione logica è corretta? 1. La ristrutturazione dello schema concettuale ha lo scopo di ottimizzare le tabelle relazionali. 2. Dopo la traduzione diretta non ci sono tabelle relazionali che ammettono valori nulli nei propri attributi.

3. La ristrutturazione dello schema logico si effettua solo se ci sono attributi composti, attributi multivalore o relazioni ISA nello schema concettuale. 4. La traduzione diretta ha lo scopo di derivare lo schema logico corrispondente allo schema concettuale ristrutturato, traducendo ogni entità in una tabella, ed ogni relazione non accorpata in una tabella. Domanda 9. Si considerino le relazioni Persona(x)che indica che x una persona, Antipasto(x) che indica che x è un antipasto, Pizza(x) che indica che x è un tipo di pizza, e piace(x,y) che indica che a x piace y. Si esprimano in SQL le seguenti query: 1. Restituisci le persone a cui piace almeno un antipasto e una pizza. 2. Restituisci le persone a cui piacciono almeno 2 pizze. Domanda 10. Si considerino le relazioni Persona(x)che indica che x una persona, Antipasto(x) che indica che x è un antipasto, Pizza(x) che indica che x è un tipo di pizza, e piace(x,y) che indica che a x piace y. Si esprimano in SQL le seguenti query: 1. Restituisci le persone a cui piacciono solo pizze. 2. Restituisci le persone a cui piacciono tutte le pizze. Roma, 21 marzo 2018

Autorità Garante della Concorrenza e del Mercato Autorità Nazionale Anticorruzione Concorso pubblico, per titoli ed esami, a 2 posti nella qualifica di funzionario in prova, uno nel ruolo della carriera direttiva dell Autorità Garante della Concorrenza e del Mercato (VI livello della scala stipendiale) e uno nel ruolo dell Autorità Nazionale Anticorruzione (Categoria A, parametro retributivo F1), per lo svolgimento di attività di indagine, progettazione, sviluppo e di reverse engineering di software, algoritmi e data base. (G.U. - IV^ Serie speciale - Concorsi ed esami, n. 56 del 25/7/2017). Prova scritta del 21 marzo 2018 TRACCIA n 3*(Traccia estratta) Domanda 1. Il massimo numero di nodi di un albero binario di altezza h è: 1. log 2 h 2. 2h 3. 2 h 4. 2 h+1-1 Domanda 2. Quale tipologia di visita di un albero non è in profondità? 1. In ampiezza 2. In ordine anticipato (pre-order) 3. In ordine simmetrico (in-order) 4. In ordine posticipato (post-order) Domanda 3. Il problema di trasporre una matrice quadrata ha costo computazionale (nella dimensione dell'input) 1. costante 2. lineare 3. logaritmico 4. quadratico Domanda 4. Si consideri il seguente metodo per il calcolo del fattoriale public static long fattoriale(long n) { if (n == 0) return 1; else return n * fattoriale(n-1);

Quale delle seguenti affermazioni è vera? 1. Il numero di record di attivazione presenti nello stack nel momento che il metodo viene invocato con valore 0 del parametro è n+1. 2. Non è possibile stabilire a priori il numero massimo di record di attivazione che saranno presenti nello stack in seguito all'invocazione del metodo. 3. Lo Stack contiene, ad ogni istante, soltanto un record di attivazione relativo al metodo. 4. Il numero massimo di record di attivazione presenti nello stack a seguito dell'invocazione del metodo non dipende da n. Domanda 5. Si consideri la seguente espressione Java: a==b, dove a e b sono riferimenti ad array di int. Quale delle seguenti affermazioni è vera? 1. L'espressione vale true se a e b sono riferimenti a due array che contengono gli stessi interi nello stesso ordine. 2. L'espressione vale true se a e b contengono lo stesso indirizzo, cioè puntano allo stesso array. 3. espressione errata poic e l'operatore == non è applicabile a riferimenti ad array. 4. L'espressione vale sempre false, indipendentemente dal contenuto di a e b. Domanda 6. Una sola delle seguenti affermazioni sul passaggio dei parametri in Java è vera. Quale? Al momento dell'invocazione di un metodo: 1. i parametri formali dell'invocazione vengono copiati nei corrispondenti parametri attuali dell'intestazione del metodo. 2. in assenza di overloading, i parametri passati non devono eccedere i parametri dell'intestazione del metodo, ma possono anche essere di meno. 3. i parametri attuali dell'invocazione vengono copiati nei corrispondenti parametri formali dell'intestazione del metodo. 4. in assenza di overloading, i parametri passati non devono eccedere i parametri dell'intestazione del metodo, ma possono anche essere di più. Domanda 7. La relazione ISA tra entità è una struttura che si può usare nel modello Entità-Relazione. Quale delle seguenti affermazioni sulla relazione ISA è corretta? 1. Se tra l'entità E e l'entità F sussiste la relazione ISA, allora E ed F non hanno istanze comuni. 2. Se tra l'entità E e l'entità F sussiste la relazione ISA, allora ogni istanza di E è collegata con una relazione con almeno una istanza di F. 3. Se tra l'entità E e l'entità F sussiste la relazione ISA, allora E è un'entità padre in una generalizzazione. 4. Se tra l'entità E e l'entità F sussiste la relazione ISA, allora ogni istanza di E è anche istanza di F. Domanda 8. Nell'ambito del modello relazionale dei dati il join naturale è: 1. un operatore che si applica a due relazioni e che combina le tuple delle due relazioni sulla base della uguaglianza degli attributi in comune alle due relazioni. 2. un operatore che si applica a due relazioni e che calcola l'unione delle tuple di tali relazioni. 3. un metodo per progettare in modo corretto lo schema di una relazione. 4. un operatore che calcola uno schema di relazione unendo gli attributi di una relazione con quelli di un'altra relazione.

Domanda 9. Si considerino le relazioni Partecipante(x) che indica che x un partecipante, ProgettoRicerca(x) che indica che x è un progetto di ricerca, ProgettoApplicativo(x) che indica che x è progetto applicativo, e lavora(x,y) che indica che x lavora ad y. Si esprimano in SQL le seguenti query: 1. Restituisci i partecipanti che lavorano sia in un progetto di ricerca che in un progetto applicativo. 2. Restituisci i partecipanti che lavorano in almeno 2 progetti applicativi. Domanda 10. Si considerino le relazioni Partecipante(x) che indica che x un partecipante, ProgettoRicerca(x) che indica che x è un progetto di ricerca, ProgettoApplicativo(x) che indica che x è progetto applicativo, e lavora(x,y) che indica che x lavora ad y. Si esprimano in SQL le seguenti query: 1. Restituisci i partecipanti che lavorano solo in progetti di ricerca. 2. Restituisci i partecipanti che lavorano in tutti i progetti applicativi. Roma, 21 marzo 2018