Esame Informatica Generale 13/04/2016 Tema A

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Esame Informatica Generale 13/04/2016 Tema A"

Transcript

1 Esame Informatica Generale 13/04/2016 Tema A! 1/! Quesito 1 (punteggio 2) Si considerino le seguenti istruzioni del linguaggio c/c++. int x[100]; void fz(int[], double[], double*); // puntatori void fz(int[], double[], double&); // riferimenti Indicare gli errori della seguente espressione: fz(x[20], x, &x[4]); // puntatori fz(x[20], x, x[4]); // riferimenti Come primo parametro è richiesto un vettore di interi, mentre viene passato un tipo semplice, ovvero una cella intera del vettore x. Come secondo parametro è richiesto un vettore di double, mentre viene passato un vettore di interi. Per quanto riguarda il terzo parametro, è richiesto un reference a una variabile double mentre viene passata una variabile intera (una cella del vettore x). Quesito 2 (punteggio 2) Descrivere dettagliatamente il compito del gestore della memoria centrale in un sistema operativo.

2 ! 2/! Quesito 3 (punteggio 2) Scegliere uno dei seguenti algoritmi codificati in linguaggio C/C++ e scrivere la tabella di esecuzione (trace table): Puntatori int F(int* x) { *x = *x + 1; return *x + 1; Riferimenti int F(int& x) { x = x + 1; return x + 1; int G(int* y, int x) { *y = x + F(y); return *y + x; int x, y; x = 2; y = 2; y = G(&x, y) - 1; int G(int& y, int x) { y = x + F(y); return y + x; int x, y; x = 2; y = 2; y = G(x, y) - 1; Main x y G 2 2 *y x F 2 2 x di main 2 *x 2 2 x di main 2 y di G 3 2 x di main 2 y di G 6 2 x di main 2 6

3 ! 3/! Quesito 4 (punteggio 2) Dati i seguenti schemi di relazione con le rispettive istanze: Aziende(PIVA, Denominazione) PIVA Denominazione 111 Pirelli 222 Zucchetti Consulenti(PIVA,CF, dataass, Ret) PIVA CF dataass Ret 111 AAAAAA AAAAAA BBBBBB CCCCCC CCCCCC stabilire il risultato della seguente query scrivendo le tabelle intermedie: SELECT SUM(B.F), COUNT(*) FROM ( SELECT T.H, COUNT(*) AS F FROM Aziende A, ( SELECT COUNT(*) AS H FROM Consulenti GROUP BY dataass ) T GROUP BY T.H ) B

4 ! 4/! Tabella T H Tabella A x T PIVA Denominazione H 111 Pirelli Pirelli Pirelli 2 T.H Tabella B F 222 Zucchetti Zucchetti Zucchetti Tabella finale SUM(B.F) COUNT(*) 6 2 Esercizio 1 (8 punti) Descrivere un algoritmo codificato in linguaggio C/C++ che: 1. definisce la funzione PrimaDelMassimo con parametri: a di tipo vettore di 100 int; b di tipo puntatore/riferimento ad un int. Si suppone che i valori contenuti nel vettore a siano tutti maggiori di zero. La funzione deve scrivere nell'area di memoria puntata/riferita da b il più grande valore contenuto nel vettore a che è minore del valore massimo contenuto nel vettore a. Se tale valore non esiste (i valori del vettore a possono essere tutti uguali), la funzione deve scrivere nell area di memoria puntata/riferita da b il numero nella funzione main I. dichiarare due vettori x e y contenenti 100 numeri interi; II. modificare il vettore y inserendo in ogni sua posizione il valore -1; III. ripetere le seguenti istruzioni fino a quando il vettore y contiene tutti numeri positivi: a. inserire 100 valori letti da standard input nel vettore x (i valori inseriti saranno tutti positivi); b. eseguire la funzione PrimaDelMassimo applicata al vettore x e scrivere il suo risultato nel vettore y.

5 #include <iostream> using namespace std;! 5/! void PrimaDelMassimo (int a[100], int &b) { int i = 0, max = 0, secondomax = 0; while (i < 100) { if (a[i] > max) { secondomax = max; max = a[i]; else if (a[i] > secondomax && a[i]!= max) { secondomax = a[i]; i = i + 1; if (max == secondomax) { b = -1; else { b = secondomax; int x[100], y[100]; int i = 0; while (i < 100) { y[i] = -1; i = i + 1; int j = 0; int risultato; while (j < 100) { i = 0; while (i < 100) { cin >> x[i]; i = i + 1; PrimaDelMassimo (x, risultato); if (risultato > 0) { y[j] = risultato; j = j + 1;

6 Esercizio 2 (5 punti) Descrivere un algoritmo codificato in linguaggio C/C++ che: 1. definisce due vettori: il primo di nome a contenente 500 numeri interi ed il secondo di nome b contenente 500 numeri interi; 2. legge una sequenza di valori da standard input ed inserisce i numeri maggiori di zero nel vettore a e i numeri minori di zero nel vettore b. Al termine dell operazione tutti i posti dei vettori devono contenere valori letti da standard input. #include <iostream> using namespace std; int a[500], b[500]; int p = 0, n = 0, t; while (p < 500 n < 500) { cin >> t; if (t > 0 && p < 100) { a[p] = t; p = p + 1;! 6/! if (t < 0 && n < 500) { a[n] = t; n = n + 1;

7 Esercizio 3 (9 punti) Il sistema informatico del Centro Sportivo Italiano (CSI) utilizza un database per il premio Fair Play. Nel database sono presenti le seguenti relazioni: Societa (ID, Denominazione) Partite(IDS, Categoria, NumeroGara, Punti) dove nella relazione Societa l'attributo ID è la chiave primaria. Nella relazione Partite gli attributi IDS, Categoria e NumeroGara formano la chiave primaria e l'attributo IDS è chiave esterna per la relazione Societa. Ogni tupla della relazione Partite serve a memorizzare i punti disciplina persi delle squadre in ogni partita. In ogni tupla gli attributi IDS e Categoria servono ad identificare la squadra, gli attributi Categoria e NumeroGara servono ad identificare la partita giocata e l attributo Punti serve a memorizzare i punti persi (0 vuole dire che nella partita la squadra non ha perso punti). Scrivere l'istruzione SQL che: 1. modifica le tuple della tabella Partite eliminando tutte le tuple con valore dell attributo Punti uguale a visualizza senza ripetizioni le squadre (IDS e Categoria) che in almeno una partita hanno perso esattamente 10 punti; 3. visualizza per ogni squadra: la squadra (IDS e Categoria), il numero di partite giocate e il numero di punti persi; 4. visualizza le squadre (IDS e Categoria) che hanno un numero di punti persi maggiori della media dei punti persi nella categoria; 5. traduce la seguente espressione in algebra relazionale: operazione di selezione sulla relazione Partite con predicato di selezione Punti IN (10, 0, 12). 1. DELETE WHERE Punti = 0 2. SELECT DISTINCT IDS, Categoria WHERE Punti = SELECT IDS, Categoria, COUNT(*) AS Partite, SUM(Punti) as Persi GROUP BY IDS, Categoria 4. SELECT IDS, Categoria P, WHERE P.Categoria = T.Categoria GROUP BY IDS, Categoria HAVING SUM(Punti) > Media 5. SELECT * WHERE Punti IN (10, 0, 12) (SELECT Categoria, AVG(Punti) AS Media) GROUP BY Categoria) T! /!

Classe Squadra. #include <iostream> using namespace std;

Classe Squadra. #include <iostream> using namespace std; Classe Squadra Si vuole scrivere un programma che gestisce la classifica di un campionato tra squadre di calcio, ognuna identificata dal proprio nome. Il programma deve essere in grado di assegnare un

Dettagli

Esame di Informatica Generale 25 giugno 2010 Professori: Carulli, Fiorino, Mazzei

Esame di Informatica Generale 25 giugno 2010 Professori: Carulli, Fiorino, Mazzei IG 9CFU 25/06/10 1/12 Esame di Informatica Generale 25 giugno 2010 Professori: Carulli, Fiorino, Mazzei Docente Risultati Scritto Orali Fiorino martedi venerdì Mazzei Martedì pv (sito docente) Mercoledì

Dettagli

Compito Basi di Dati. Tempo concesso: 2 ore 18 Febbraio 2013 Nome: Cognome: Matricola:

Compito Basi di Dati. Tempo concesso: 2 ore 18 Febbraio 2013 Nome: Cognome: Matricola: Compito Basi di Dati. Tempo concesso: 2 ore 18 Febbraio 2013 Nome: Cognome: Matricola: Esercizio 1 Si considerino le seguenti specifiche relative alla realizzazione della base dati a supporto di un applicativo

Dettagli

Esame di Informatica Generale 9 CFU 21 Giugno 2011 Professori: Carulli, Fiorino, Mazzei

Esame di Informatica Generale 9 CFU 21 Giugno 2011 Professori: Carulli, Fiorino, Mazzei 04-21-giugno-2011-DomandeConSoluzione.doc 1/12 22/06/2011 15:07:59 Esame di Informatica Generale 9 CFU 21 Giugno 2011 Professori: Carulli, Fiorino, Mazzei Docente Risultati Scritto Orali Carulli Venerdì

Dettagli

Informatica! Appunti dal laboratorio 1!

Informatica! Appunti dal laboratorio 1! Informatica Appunti dal laboratorio 1 Sistema Operativo Windows Vista, Windows 7, Mac OS X, Linux, Debian, Red Hat, etc etc Il sistema operativo è un programma che serve a gestire TUTTE le risorse presenti

Dettagli

PROGRAMMAZIONE: La selezione

PROGRAMMAZIONE: La selezione PROGRAMMAZIONE: La selezione Prof. Enrico Terrone A. S: 2008/09 Le tre modalità La modalità basilare di esecuzione di un programma è la sequenza: le istruzioni vengono eseguite una dopo l altra, riga per

Dettagli

SQL - Structured Query Language

SQL - Structured Query Language SQL - Structured Query Language Lab 05 Alessandro Lori Università di Pisa 27 Aprile 2012 Riepilogo esercitazione precedente Operatori insiemistici (UNION, INTERSECT, EXCEPT) Riepilogo esercitazione precedente

Dettagli

Manuale SQL. Manuale SQL - 1 -

Manuale SQL. Manuale SQL - 1 - Manuale SQL - 1 - Istruzioni DDL Creazione di una tabella : CREATE TABLE Il comando CREATE TABLE consente di definire una tabella del database specificandone le colonne, con il tipo di dati ad esse associate,

Dettagli

Esercizi. Filtraggio

Esercizi. Filtraggio Politecnico di Milano Esercizi Preparazione alla prima prova intermedia Filtraggio L utente inserisce un array di numeri reali non negativi (un numero negativo indica la fine della fase di inserimento)

Dettagli

Pr1: determinare il maggiore di n numeri interi n. Fondamenti di Informatica Prof. Vittoria de Nitto Personè

Pr1: determinare il maggiore di n numeri interi n. Fondamenti di Informatica Prof. Vittoria de Nitto Personè Pr1: determinare il maggiore di n numeri interi 1 2 3 4 n 1 Pr1: determinare il maggiore di n numeri interi 1 2 3 4 n P1. trovare il maggiore fra i primi 2 numeri; P2. trovare il maggiore fra il terzo

Dettagli

Basi di Dati: Corso di laboratorio

Basi di Dati: Corso di laboratorio Basi di Dati: Corso di laboratorio Lezione 4 Raffaella Gentilini 1 / 46 Sommario 1 Join di Tabelle Join Naturale Theta Join Join Esterno 2 3 Funzioni d aggregazione La Clausola GROUP BY La Clausola HAVING

Dettagli

Gestione di files Motivazioni

Gestione di files Motivazioni Gestione di files Motivazioni Un programma in esecuzione legge (sequenzialmente) una sequenza di caratteri prodotti "al volo" dall'utente (tramite tastiera) il programma in esecuzione scrive (sequenzialmente)

Dettagli

Structured Query Language

Structured Query Language IL LINGUAGGIO SQL Structured Query Language Contiene sia il DDL sia il DML, quindi consente di: Definire e creare il database Effettuare l inserimento, la cancellazione, l aggiornamento dei record di un

Dettagli

A.A. 2018/2019. Simulazione. Simulazione Terza Prova Intracorso FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante

A.A. 2018/2019. Simulazione. Simulazione Terza Prova Intracorso FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante A.A. 2018/2019 Simulazione Simulazione Terza Prova Intracorso Docente Prof. Raffaele Pizzolante FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE Punteggio e Valutazione Domande a Risposte Aperta su Aspetti Teorici

Dettagli

PROGRAMMAZIONE: Le strutture di controllo

PROGRAMMAZIONE: Le strutture di controllo PROGRAMMAZIONE: Le strutture di controllo Prof. Enrico Terrone A. S: 2008/09 Le tre modalità La modalità basilare di esecuzione di un programma è la sequenza: le istruzioni vengono eseguite una dopo l

Dettagli

Esercizi C su array e matrici

Esercizi C su array e matrici Politecnico di Milano Esercizi C su array e matrici Massimo, media e varianza,, ordinamento, ricerca e merge, matrice simmetrica, puntatori Array Array o vettore Composto da una serie di celle int vett[4]

Dettagli

Fondamenti di Informatica 2 Simulazione d esame dell 11 Dicembre 2009

Fondamenti di Informatica 2 Simulazione d esame dell 11 Dicembre 2009 Esercizio 1 (6 punti) Date le seguenti strutture dati: int elementi[5]; int numeroelementi; Vettore; int elementi[5][5]; int numerorighe; int numerocolonne; Matrice; Fondamenti di Informatica 2 Simulazione

Dettagli

Esercitazione 6. Array

Esercitazione 6. Array Esercitazione 6 Array Arrays Array (o tabella o vettore): è una variabile strutturata in cui è possibile memorizzare un numero fissato di valori tutti dello stesso tipo. Esempio int a[6]; /* dichiarazione

Dettagli

σ data 15/12/2013 data 20/12/2014

σ data 15/12/2013 data 20/12/2014 Dato lo schema: Basi di Dati Prof. Alfredo Pulvirenti A.A. 2014-2015 Prova in itinere 18 dicembre 2014 (A) EVENTO(id, titolo, data, categoria, costo_partecipazione, idcatering) ORGANIZZATORE(id,idevento)

Dettagli

<Nome Tabella>.<attributo>

<Nome Tabella>.<attributo> Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno : SQL (2) Tabelle mult., variabili, aggreg, group Prof. Alberto

Dettagli

Strutture di controllo in C++

Strutture di controllo in C++ Strutture di controllo in C++ Fondamenti di Informatica R. Basili a.a. 2006-2007 Il controllo: selezione Spesso la sequenza delle istruzioni non e prevedibile a priori ma dipende strettamente dalle configurazioni

Dettagli

IL CONCETTO DI FILE. È illecito operare oltre la fine del file.

IL CONCETTO DI FILE. È illecito operare oltre la fine del file. IL CONCETTO DI FILE Un file è una astrazione fornita dal sistema operativo, il cui scopo è consentire la memorizzazione di informazioni su memoria di massa. Concettualmente, un file è una sequenza di registrazioni

Dettagli

Corso di. Basi di Dati I. 11. Esercitazioni in SQL: Altri esercizi

Corso di. Basi di Dati I. 11. Esercitazioni in SQL: Altri esercizi Corso di Basi di Dati 11. Esercitazioni in SQL: Altri esercizi A.A. 2016 2017 Esempio: consideriamo le seguenti tabelle Articoli(Id, Nome, Colore) Fornitori(Id, Nome, Indirizzo) Catalogo(Articolo, Fornitore,

Dettagli

Basi di dati Appello del Soluzione del compito B

Basi di dati Appello del Soluzione del compito B Basi di dati Appello del 10-01-2012 Soluzione del compito B Anno Accademico 2011/12 Problema 1 - Schema ER (0,7) Palestra Ubicata Comune NumAbitanti Categoria Nome Attrezzistica SportSquadra AnnoApertura

Dettagli

Prova Pratica di Informatica, Modulo Basi di dati Appello 23/07/2018

Prova Pratica di Informatica, Modulo Basi di dati Appello 23/07/2018 Prova Pratica di Informatica, Modulo Basi di dati Appello 23/07/2018 REGOLE SULLO SVOLGIMENTO DELL ESAME E vietato usare dispositivi elettronici di qualsiasi tipo (smartphone, tablet, portatili) Non è

Dettagli

2. Spiegare brevemente qual è la funzione del compilatore e la sua importanza per il programmatore.

2. Spiegare brevemente qual è la funzione del compilatore e la sua importanza per il programmatore. 1 Esercizio 1 1. Immaginate di avere una calcolatore che invece che poter rappresentare i classici due valori per ogni bit (0/1) possa rappresentare 7 valori per ogni bit. (a) Quanti bit gli occorreranno

Dettagli

Scrittura formattata - printf

Scrittura formattata - printf Esercizi su Input/Output con formato FormattedIO 1 Scrittura formattata - printf Funzione printf int printf ( , ) La funzione restituisce un valore intero uguale ai caratteri

Dettagli

STRUCT - ESERCIZIO 1

STRUCT - ESERCIZIO 1 STRUCT - ESERCIZIO 1 Si vuole realizzare un programma di utilità matematica per gestire i numeri complessi. In particolare: 3. Progettare una opportuna struttura per la loro rappresentazione (in coordinate

Dettagli

Esercitazione 4. Comandi iterativi for, while, do-while

Esercitazione 4. Comandi iterativi for, while, do-while Esercitazione 4 Comandi iterativi for, while, do-while Comando for for (istr1; cond; istr2) istr3; Le istruzioni vengono eseguite nel seguente ordine: 1) esegui istr1 2) se cond è vera vai al passo 3 altrimenti

Dettagli

SQL: le funzioni di aggregazione

SQL: le funzioni di aggregazione SQL: le funzioni di aggregazione funzioni predefinite che agiscono sui valori contenuti in insiemi di righe della tabella: Conteggi Somme Medie Massimi, minimi Funzione Count La funzione COUNT conta il

Dettagli

Basi di Dati 1 Prof. L. Tanca e F. A. Schreiber APPELLO DEL 1 OTTOBRE 2015 Tempo: 2h30m

Basi di Dati 1 Prof. L. Tanca e F. A. Schreiber APPELLO DEL 1 OTTOBRE 2015 Tempo: 2h30m Basi di Dati 1 Prof. L. Tanca e F. A. Schreiber APPELLO DEL 1 OTTOBRE 2015 Tempo: 2h30m Si consideri il seguente schema di base di dati, che vuole memorizzare informazioni relative ai viaggi di lavoro

Dettagli

Esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo)

Esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo) Esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo) Selezione di prove di esame al calcolatore Esercizio 1 (esame del 13/01/2006) La classe Matrice definisce oggetti che rappresentano matrici

Dettagli

Basi di dati 8 settembre 2015 Esame Compito A Tempo a disposizione: due ore. Libri chiusi.

Basi di dati 8 settembre 2015 Esame Compito A Tempo a disposizione: due ore. Libri chiusi. Basi di dati 8 settembre 2015 Esame Compito A Tempo a disposizione: due ore. Libri chiusi. Cognome: Nome: Matricola: Domanda 1 (15%) Considerare la base di dati relazionale contenente le seguenti relazioni:

Dettagli

INTRODUZIONE ALLA PROGRAMMAZIONE

INTRODUZIONE ALLA PROGRAMMAZIONE INTRODUZIONE ALLA PROGRAMMAZIONE Prof. Enrico Terrone A. S: 2008/09 Definizioni Programmare significa risolvere problemi col computer, cioè far risolvere problemi al computer attraverso un insieme di informazioni

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica Liste semplici (semplicemente linkate) Una lista semplice e costituita da nodi Laboratorio di Informatica 7. Strutture complesse di dati in C++ Ogni nodo e una struttura che contiene : Dati Un riferimento

Dettagli