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



Documenti analoghi
Esame di Informatica Generale 25 giugno 2012 Professori: Carulli, Fiorino. Docente Risultati Scritto Fiorino Carulli

Esame di Informatica Generale 25 giugno 2012 Professori: Carulli, Fiorino. Docente Risultati Scritto Fiorino Carulli

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

Esame di Informatica Generale 9 CFU 19 Aprile 2011 Professori: Carulli, Fiorino, Mazzei

Le Basi di Dati. Le Basi di Dati

Introduzione alla programmazione in C

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

ESAME SCRITTO DI ELEMENTI DI INFORMATICA E PROGRAMMAZIONE. 9 Settembre 2015

ESAME SCRITTO DI ELEMENTI DI INFORMATICA E PROGRAMMAZIONE. 27 Gennaio 2015

Utilizzando Microsoft Access. Si crea la tabella Anagrafica degli alunni,le Materie e i voti si mettono alcuni campi

Fondamenti di Informatica 2

Basi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007

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

Lab 11 Gestione file di testo"

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:

Compito di Fondamenti di Informatica

Introduzione al MATLAB c Parte 2

Appello di Informatica B

Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a settembre 2011

I Sistemi Informativi

I sistemi di numerazione

Progettazione di un Database

PROVA INTRACORSO TRACCIA A Pagina 1 di 6

Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a Secondo Compitino 17 Dicembre 2005

Fondamenti di Informatica T-1, 2009/2010 Modulo 2 Prova d Esame 5 di Giovedì 15 Luglio 2010 tempo a disposizione 2h30'

CONCETTO DI ANNIDAMENTO

Prova di recupero di Informatica B Corsi di Laurea in Ingegneria Meccanica prof. Francesco Amigoni 20 febbraio 2004

ESAME SCRITTO DI ELEMENTI DI INFORMATICA E PROGRAMMAZIONE. 10 Settembre 2013

Gestione dei File in C

Programmazione I - Laboratorio

Esame di INFORMATICA

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL

Basi di dati. Concetti Introduttivi ESEMPIO. Fisica, Analisi, Informatica. Entità Relazioni Interrogazioni. Database 2

15 febbraio Soluzione esame di geometria - 12 crediti Ingegneria gestionale - a.a COGNOME... NOME... N. MATRICOLA...

Compito DA e BD. Tempo concesso: 90 minuti 12 giugno 03 Nome: Cognome: Matricola: Esercizio 1

Esercitazione Informatica I AA Nicola Paoletti

Introduzione ai database relazionali

Strutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1)

Informatica - A.A. 2010/11

Algoritmo. I dati su cui opera un'istruzione sono forniti all'algoritmo dall'esterno oppure sono il risultato di istruzioni eseguite precedentemente.

C. P. U. MEMORIA CENTRALE

Lezione V. Aula Multimediale - sabato 29/03/2008

DATABASE RELAZIONALI

Politecnico di Milano - Facoltà di Ingegneria INFORMATICA A - Corso per allievi GESTIONALI - Prof. C. SILVANO A. A. 2001/ febbraio A

Lezioni di Laboratorio sui Data Base

LICEO SCIENTIFICO "LEONARDO DA VINCI" - RC PROGRAMMA DI INFORMATICA A.S. 2014/15 - CLASSE: I Q - Indirizzo Scienze applicate Prof Miritello Rita

Le funzioni in C. I programmi C sono costituiti da definizioni di variabili e funzioni.

Realizzazione di una classe con un associazione

Esempi ed esercizi Aritmetica degli elaboratori e algebra di commutazione

MODELLO RELAZIONALE. Introduzione

Esame di Informatica Generale 9 CFU 20 Settembre 2011

Arduino: Programmazione

BASI DI DATI - : I modelli di database

Al giorno d oggi, i sistemi per la gestione di database

Esercitazione sulle libpq - libreria C per PostgreSQL

Elementi di Architettura e Sistemi Operativi. problema punti massimi i tuoi punti problema 1 6 problema 2 7 problema 3 7 problema 4 10 totale 30

OTTAVA ESPERIENZA DI LABORATORIO. L elaborazione dei files in C

Funzioni in C. Violetta Lonati

LISTE, INSIEMI, ALBERI E RICORSIONE

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

RICERCA DI UN ELEMENTO

DB - Modello relazionale dei dati. DB - Modello Relazionale 1

Corso di Analisi Matematica Serie numeriche

Elena Baralis 2013 Politecnico di Torino 1

Note per generazione file.txt per invio trimestrale V.P. all AGENZIA DELLE ENTRATE

Informatica per le discipline umanistiche 2 lezione 10

3) Il seguente numerale A1F0 in base 16 a quale numero in base 10 corrisponde?

PROGETTAZIONE CONCETTUALE

Vincoli di integrità

SQL - Funzioni di gruppo

Cardinalità e identificatori. Informatica. Generalizzazioni. Generalizzazioni. Generalizzazioni. Generalizzazioni

CLASSE III A I.T.I. (ABACUS) SISTEMI DI ELABORAZIONE E TRASMISSIONE DEI DATI VERIFICA DI RECUPERO

Sistemi di Numerazione

ISTITUTO TECNICO INDUSTRIALE STATALE LA GESTIONE DEI FILE DI TESTO IN C++

Quotazione compareto( ) Quotazione piurecente( ) Quotazione Quotazione Quotazione non trovato count( )

Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C

database: modello entityrelationship

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica

All interno del computer si possono individuare 5 componenti principali: SCHEDA MADRE. MICROPROCESSORE che contiene la CPU MEMORIA RAM MEMORIA ROM

La struttura dati ad albero binario

void funzioneprova() { int x=2; cout<<"dentro la funzione x="<<x<<endl; }

Variabili e tipi di dato

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere

Studente (Cognome Nome): Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a Primo scritto 11 Gennaio 2008

2. Simulazione discreta: approcci alla simulazione

La selezione binaria

I puntatori e l allocazione dinamica di memoria

Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso

SISTEMI INFORMATIVI AVANZATI -2010/ Introduzione

Studente (Cognome Nome): Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a Secondo Compitino 21 Dicembre 2006

LE SUCCESSIONI 1. COS E UNA SUCCESSIONE

Corso Sistemi Informativi Avanzati. Programma 30 set Installazione Macchina Virtuale. Introduzione alla BI nelle Aziende.

SQL prima parte D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2011/12

Laboratorio di programmazione

Procedure memorizzate SQL-2003/PSM. Forma base di PSM. Parametri in PSM

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment

Università degli Studi di L Aquila. Facoltà di Ingegneria. Corso di Laurea in Ingegneria Elettronica Corso di Sistemi Informativi

Basi di Dati Corso di Laura in Informatica Umanistica

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter

Progettazione di Basi di Dati

Transcript:

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ì 24/6 Fiorino Mercoledì sera Venerdì 24/6 Mazzei 26/06/2011 su digilander.libero.it/lm azzei con i risultati Cognome: Nome: Nro di Matricola: Docente: Lab + Nro PC: D1 D2 D3 D4 D5 D6 D7 D8 D9 Dom Es TOT 2 1 1 1 1 1 1 1 1 10 20 30 D1 Scrivere in base 4 e in base 10 il seguente numero binario: 0011001111 2. base 4: 00 11 00 11 11 2 =03033 (Poiché in ogni numero in base b x ogni cifra corrisponde ad x cifre della base b e viceversa e 4=2 2 ) base 10: 2 7 +2 6 +2 3 +2 2 +2 1 +2 0 =128+64+8+4+2+1=207 D2 Dato l'assegnamento C x.a[1] = a.x; indicare i tipi, se esistono, che lo rendono possibile; altrimenti spiegare perché non esistono. typedef structint a[5]; R1; typedef structint x;r2; R1 x; R2 a;

04-21-giugno-2011-DomandeConSoluzione.doc 2/12 22/06/2011 15:07:59 D3 Definire la nozione di chiave primaria di una relazione. Data una relazione R con attributi A1,..., An si dice chiave primaria un sottoinsieme degli attributi di R non vuoto che identifica univocamente ogni tupla di R (condizione di unicità) ed è tale che, se si elimina un attributo della chiave, essa non identifica più univocamente la tupla (condizione di minimalità). D4 Definire le principali funzioni della ALU. Esegue le operazioni aritmetiche (se usa il complemento a due come rappresentazione per i dati comprende almeno i circuiti per la somma ed il complemento a due) e logiche sui dati presenti nel registro/i accumulatore. Il risultato delle operazioni modifica il registro di stato. Descrivere brevemente il gestore dei file (detto anche File System ) in un sistema operativo. D5 Permette la gestione della memoria di massa sia dal punto di vista fisico che logico. D6 Indicare i valori stampati dal seguente programma: void f(int *J, int X) *J = X - *J; int main() X=3; printf("%d ",X); f(&x,4); printf("%d",x); return 0; 3 1

04-21-giugno-2011-DomandeConSoluzione.doc 3/12 22/06/2011 15:07:59 D7 Indicare i valori stampati dal seguente programma: int fz(int a, int b[]) int i; for(i=0;i<3;i++) a = a + b[i]; return a - 1; int main() int v[3], a; v[0] = 3; v[1] = 4; v[2] = 5; a = fz(v[2], v); printf("%d %d\n",a, v[2]); return 0; 16 5 D8 Sintetizzare la funzione booleana descritta dalla seguente tabella di verità dove A, B e C sono le variabili e U1 e U2 le uscite: A B C U1 U2 0 0 0 1 1 0 0 1 1 1 0 1 0 0 1 0 1 1 0 0 1 0 0 0 0 1 0 1 1 0 1 1 0 0 0 1 1 1 0 1 U1 = -A-B-C + -A-BC + A-BC

04-21-giugno-2011-DomandeConSoluzione.doc 4/12 22/06/2011 15:07:59 U2 = -A-B-C + -A-BC + -AB-C + ABC D9 Dati i seguenti schemi di relazione con le rispettive istanze: Aziende(PIVA,Denominazione) PIVA Denominazione 111 Bayer 222 Angelini SPA 333 Menarini OTC Farmaci(PIVA,Nome, Prezzo, Qta) PIVA Nome Prezzo Qta 111 Aspirina 1 30 111 Fisiotens 2 20 222 Tachipirina 4 10 111 Tirocular 1 2 222 Lorazepam 5 25 stabilire il risultato della seguente interrogazione: SELECT Aziende.PIVA, SUM(Prezzo) FROM Aziende, Farmaci WHERE Qta > 20 GROUP BY Aziende.PIVA

04-21-giugno-2011-DomandeConSoluzione.doc 5/12 22/06/2011 15:08:00 Esame di Informatica Generale 9 CFU 21 Giugno 2011 Professori: Carulli, Fiorino, Mazzei Docente Risultati Scritto Orali Carulli Venerdì 24/6 Fiorino Mercoledì sera Venerdì 24/6 Mazzei 26/06/2011 su digilander.libero.it/lm azzei con i risultati Cognome: Nome: Nro di Matricola: Docente: Lab + Nro PC: D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 Dom Es TOT 1 1 1 1 1 1 1 1 1 1 10 20 30 D1 Indicare se l operazione di somma tra i seguenti numeri in complemento a due produce overflow motivando la risposta: 00000001+ 11111111= 00000000 Il risultato della somma in complemento a due è corretto (non genera overflow) poiché i due addendi sono discordi di segno. D2 Dati i seguenti numeri binari: A1 = 10000 A2 = 10011 in un aritmetica in complemento a due con 5 bit determinare il risultato della somma A1+A2 in un aritmetica in complemento a due con 8 bit, indicando se il risultato è corretto. Si estendono in segno A1 e A2 e quindi:

04-21-giugno-2011-DomandeConSoluzione.doc 6/12 22/06/2011 15:08:00 1 1 1 1 0 0 0 0 + 1 1 1 1 0 0 1 1 = 1 1 1 0 0 0 1 1 Il risultato della somma in complemento a due è corretto poiché i due addendi sono concordi di segno ed il risultato ad n cifre è dello stesso segno dei due addendi. D3 Dato l'assegnamento C x.a = a.x; indicare i tipi, se esistono, che lo rendono possibile; altrimenti spiegare perché non esistono. struct int a; x; struct int x; a; D4 Data la relazione R con schema R(CodiceEsame, Nome, Cognome, Voto) e la sua istanza: CodiceEsame Nome Cognome Voto 01 Giuseppe Verdi 18 03 Arturo Toscanini 21 01 GioacchinoRossini 25 02 GioacchinoRossini 25 03 GioacchinoRossini 26 04 GioacchinoRossini 25 01 Arturo Toscanini 29 05 Giuseppe Verdi 20 03 Giuseppe Verdi 21 05 Arturo Toscanini 30 01 Antonio Vivaldi 24 03 Antonio Vivaldi 24 01 GioacchinoRossini 30 Scrivere il risultato della seguente query di selezione: SELECT Nome, Cognome, COUNT(*) FROM R WHERE Voto > 25 GROUP BY Cognome,Nome; Nome Cognome Count(*) Gioacchino Rossini 2 Arturo Toscanini 2 D5

04-21-giugno-2011-DomandeConSoluzione.doc 7/12 22/06/2011 15:08:00 Indicare i valori stampati dal seguente programma: 2 12 #include <stdio.h> void f(int *J, int K) *J = K * (*J); int main() K=2; printf("%d\n",k); f(&k, 6); printf("%d\n",k); D6 Indicare i valori stampati dal seguente programma: int fz(int a[], int b) int i; for(i=0;i<3;i++) b = b + a[i]; return b + 1; int main() int w[3], a; w[0] = 3; w[1] = 4; w[2] = 5; a = fz(w,w[1]); printf("%d %d\n",a, w[2]); return 0; 17 5 D7

04-21-giugno-2011-DomandeConSoluzione.doc 8/12 22/06/2011 15:08:00 Sintetizzare la funzione booleana descritta dalla seguente tabella di verità dove A, B e C sono le variabili e U1 e U2 le uscite: A B C U1 U2 0 0 0 1 1 0 0 1 0 0 0 1 0 0 1 0 1 1 1 0 1 0 0 0 0 1 0 1 1 0 1 1 0 0 1 1 1 1 0 1 U1 = -A-B-C + -ABC + A-BC U2 = -A-B-C + -AB-C + AB-C + ABC D8 Descrivere brevemente le principali differenze tra le memorie RAM e le memorie ROM. La RAM è una memoria volatile leggibile e scrivibile mentre la ROM è una memoria persistente ma solo leggibile D9 Definire la nozione di sistema transazionale. D10 Indicare i registri coinvolti nel ciclo di fetch-decodeexecute di una istruzione (detto anche ciclo macchina).

Esame di Informatica Generale 9 CFU 21 Giugno 2011 Professori: Carulli, Fiorino, Mazzei Docente Risultati Scritto Orali Carulli Venerdì 24/6 Fiorino Mercoledì sera Venerdì 24/6 Mazzei 26/06/2011 su digilander.libero.it/lm azzei con i risultati Cognome: Nome: Nro di Matricola: Docente: Lab + Nro PC: Esercizio 1 (8 punti) Scrivere un programma che: 1- Definisce due vettori A e B di dimensione 10 di tipo int; 2- Legge da input standard 20 numeri interi e li memorizza in A e B; 3- Se le sequenze di valori presenti in A e B possono essere interpretati come due numeri binari da 10 bit, allora il programma ne deve fare la somma e mettere il risultato in un vettore C di 11 elementi (11 e non 10 perché potrebbe esserci un riporto). Altrimenti, il programma segnala che la somma in base 2 non può essere eseguita causa errore di inserimento. #include<stdio.h> int main(void) int A[10], B[10],C[11],i,r; for(i=0;i<10;i++) scanf("%d",&a[i]); for(i=0;i<10;i++) scanf("%d",&b[i]); r=0; for(i=9;i>=0;i ) C[i+1]=(A[i]+B[i]+r)%2; if (A[i]+B[i]+r >=2) r=1; else r=0; C[0]=r; for(i=0;i<11;i++) printf("%d",c[i]); return 0;

Esercizio 2 (6 punti) Definire un tipo di dato ST, struct con un campo di nome A di tipo int. Definire un tipo di dato VT, vettore di 100 elementi di tipo int. Scrivere una funzione con due parametri: x di tipo VT; y di tipo puntatore (riferimento) ad un elemento di tipo ST. La funzione deve inserire nel campo A dell area di memoria puntata da y il più piccolo elemento di x. typedef structint a; ST; typedef int VT[100]; void f(vt x, ST *y) int i; y >a=x[0]; for(i=1;i<100;i++) if (x[i]<y >a) y >a=x[i]; Esercizio 3 (6 punti) Per registrare il numero di ore lavorate ogni giorno da ciascun dipendente, sono stati definiti i seguenti schemi di relazione: Dipendenti(CF,Nome,Cognome) Orario(CF,giorno, ore) dove: nella relazione Dipendenti, l attributo CF è la chiave primaria; nella relazione Orario, gli attributi CF e giorno formano la chiave primaria. L attributo CF è chiave esterna per le relazione Dipendenti; nella relazione Orario, l attributo giorno è di tipo Date e l attributo ore rappresenta il numero di ore lavorate nel giorno. Scrivere le interrogazioni SQL che permettono di: a) visualizzare il Nome ed il Cognome dei dipendenti che hanno almeno un giorno in cui lavorano più di 8 ore; b) visualizzare il CF di coloro i quali in totale hanno lavorato più di 1000 ore.

Esame di Informatica Generale 9 CFU 21 Giugno 2011 Professori: Carulli, Fiorino, Mazzei Docente Risultati Scritto Orali Carulli Venerdì 24/6 Fiorino Mercoledì sera Venerdì 24/6 Mazzei 26/06/2011 su digilander.libero.it/lm azzei con i risultati Cognome: Nome: Nro di Matricola: Docente: Lab + Nro PC: Esercizio 1 (8 punti) Scrivere un programma che: 1- legge da standard input un numero intero X tale che -1024 <= X <= +1023. Se il valore di X non ricade negli estremi specificati, allora il programma continua a richiedere un valore per X fino a che l utente non inserisce un valore corretto; 2- converte il numero in cpl2 e memorizza i bit in un vettore B opportunamente dimensionato; #include<stdio.h> int main(void) int X,B[11],i; do scanf("%d",&x); while (X< 1024 X>1023); if (X<0) X=2048+X; for(i=10;i>=0;i ) B[i]=X%2; X=X/2; for(i=0;i<11;i++) printf("%d",b[i]); return 0; Esercizio 2 (6 punti) Definire un tipo di dato ST, struct con due campi di nome A, B di tipo int. Definire un tipo di dato VT, vettore di 100 elementi di tipo int. Scrivere una funzione con due parametri: x di tipo VT; y di tipo puntatore (riferimento) ad un elemento di tipo ST.

La funzione deve inserire nel campo A dell area di memoria puntata da y la somma degli elementi di x, e nel campo B dell area di memoria puntata da y il prodotto degli elementi di x. typedef structint a,b; ST; typedef int VT[100]; void f(vt x, ST *y) int i; y >a=0; y >b=1; for(i=1;i<100;i++) y >a=y >a+x[i]; y >b=y >b*x[i]; Esercizio 3 (6 punti) Siano dati i seguenti schemi di relazione: Utenti(CF,Nome,Cognome) Contratti(CF,dataContratto, premio) dove: nella relazione Utenti, l attributo CF è la chiave primaria; nella relazione Contratti, gli attributi CF e datacontratto formano la chiave primaria. L attributo CF è chiave esterna per le relazione Utenti; nella relazione Contratti l attributo datacontratto è di tipo Date e rappresenta il giorno in cui è stato stipulato il contratto. Scrivere le interrogazioni SQL che permettono di: α) visualizzare il Nome ed il Cognome degli utenti che hanno un contratto con un premio superiore a 20000; β) per ogni giorno del 2011, visualizzare il numero di contratti stipulati.