Anteprima
Vedrai una selezione di 18 pagine su 84
Soluzione Esami Informatica Generale Febbraio 2017 Pag. 1 Soluzione Esami Informatica Generale Febbraio 2017 Pag. 2
Anteprima di 18 pagg. su 84.
Scarica il documento per vederlo tutto.
Soluzione Esami Informatica Generale Febbraio 2017 Pag. 6
Anteprima di 18 pagg. su 84.
Scarica il documento per vederlo tutto.
Soluzione Esami Informatica Generale Febbraio 2017 Pag. 11
Anteprima di 18 pagg. su 84.
Scarica il documento per vederlo tutto.
Soluzione Esami Informatica Generale Febbraio 2017 Pag. 16
Anteprima di 18 pagg. su 84.
Scarica il documento per vederlo tutto.
Soluzione Esami Informatica Generale Febbraio 2017 Pag. 21
Anteprima di 18 pagg. su 84.
Scarica il documento per vederlo tutto.
Soluzione Esami Informatica Generale Febbraio 2017 Pag. 26
Anteprima di 18 pagg. su 84.
Scarica il documento per vederlo tutto.
Soluzione Esami Informatica Generale Febbraio 2017 Pag. 31
Anteprima di 18 pagg. su 84.
Scarica il documento per vederlo tutto.
Soluzione Esami Informatica Generale Febbraio 2017 Pag. 36
Anteprima di 18 pagg. su 84.
Scarica il documento per vederlo tutto.
Soluzione Esami Informatica Generale Febbraio 2017 Pag. 41
Anteprima di 18 pagg. su 84.
Scarica il documento per vederlo tutto.
Soluzione Esami Informatica Generale Febbraio 2017 Pag. 46
Anteprima di 18 pagg. su 84.
Scarica il documento per vederlo tutto.
Soluzione Esami Informatica Generale Febbraio 2017 Pag. 51
Anteprima di 18 pagg. su 84.
Scarica il documento per vederlo tutto.
Soluzione Esami Informatica Generale Febbraio 2017 Pag. 56
Anteprima di 18 pagg. su 84.
Scarica il documento per vederlo tutto.
Soluzione Esami Informatica Generale Febbraio 2017 Pag. 61
Anteprima di 18 pagg. su 84.
Scarica il documento per vederlo tutto.
Soluzione Esami Informatica Generale Febbraio 2017 Pag. 66
Anteprima di 18 pagg. su 84.
Scarica il documento per vederlo tutto.
Soluzione Esami Informatica Generale Febbraio 2017 Pag. 71
Anteprima di 18 pagg. su 84.
Scarica il documento per vederlo tutto.
Soluzione Esami Informatica Generale Febbraio 2017 Pag. 76
Anteprima di 18 pagg. su 84.
Scarica il documento per vederlo tutto.
Soluzione Esami Informatica Generale Febbraio 2017 Pag. 81
1 su 84
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

X Y

- -

2 -

2 - G(&x,1)

2 - X Y C

2 - &x 1

2 - &x 1 -

2 - &x 1 - F(&x,&x)

2 - &x 1 - A B

2 - &x 1 - &x &x

3 - &x 1 - &x &x

6 - &x 1 - &x &x

-->6

6 - &x 1 13

-->19

6 19 18

Quesito 4

TABELLA A

K H

2 2000

3 9000

TABELLA B

H

2

3

TABELLA A X B

A.K A.H B.H

2 2000 2

3 9000 2

2 2000 3

3 9000 3

TABELLA FINALE

COUNT(*) SUM(A.H) SUM(B.H)

4 22000 10 19

Esercizio 1

#include <stdlib.h>

#include <stdio.h>

void SonoSuperato(int a[500], int b[499], int *c){

int i,j,k;

int vero;

int conta=0;

k=0;

for(i=0;i<500;i++){

vero=0;

for(j=i;j<500;j++){

if(a[i]<a[j]) vero=1;

}

if(vero==1){

b[k]=a[i];

k++;

conta++;

}

}

*c=conta;

} 20

int main(){

int m[500], n[499];

int p;

int i;

do{ for(i=0;i<500;i++) scanf("%d",&m[i]);

SonoSuperato(m,n,&p);

}while(p!=499);

system("PAUSE");

return 0;

} 21

Esercizio 2

#include <stdlib.h>

#include <stdio.h>

int main(){

int kmF;

int kmT=0;

int m;

scanf("%d",&kmF);

do{ scanf("%d",&m);

if(m>=0){

if((m/1000)>kmF) kmT=kmT+(m/1000);

}

}while(m!=0);

system("PAUSE");

return 0;

} 22

Esercizio 3

Query 1

DELETE FROM Coperture

WHERE costoOrario < 0

Query 2

SELECT IDTutor

FROM Coperture

GROUP BY IDTutor

HAVING SUM(Ore) = (SELECT MAX(Somma)

FROM (SELECT SUM(Ore) AS Somma

FROM Coperture

GROUP BY IDTutor) A

) B

Query 3

SELECT IDTutor

FROM Coperture

GROUP BY IDTutor

HAVING COUNT(*)=1

Query 4

SELECT IDTutor

FROM Coperture

GROUP BY data, IDTutor

HAVING COUNT(*) =1

Query 5

SELECT * 23

FROM (SELECT *

FROM Coperture

WHERE data=’2017-01-20’ ) A,

(SELECT *

FROM Coperture

WHERE Laboratorio LIKE ‘LAB7%’ ) B 24

Esame Informatica Generale

03/02/2017 Tema C

Quesito 1 (punteggio 2)

Nel contesto dei Sistemi Operativi dire il motivo per cui avviene un’interruzione interna di un

processo e spiegare cosa accade al processo.

Quesito 2 (punteggio 2)

Definire formalmente il concetto di chiave di una relazione.

Quesito 3 (punteggio 2)

Scegliere uno dei seguenti algoritmi codificati in linguaggio C/C++ e scrivere la tabella di

esecuzione (trace table)

Puntatori Riferimenti

int G(int* y, int x) { int G(int& y, int x) {

int c; int c;

c = x; c = x;

while (*y < c) { while (y < c) {

c = c / 2; c = c / 2;

} }

*y = c; y = c;

return c + x; return c + x;

} }

int main() { int main() {

int x, y; int x, y; 25

x = 3; x = 3;

y = 10; y = 10;

y = G(&x, y); y = G(x, y);

return 0; return 0;

} }

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 22-11-2009 1000

222 AAAAAA 28-10-2009 2000

222 BBBBBB 22-11-2009 5000

111 CCCCCC 22-11-2009 1000

222 CCCCCC 30-12-2007 2000

scrivere il risultato della seguente query scrivendo tutte le tabelle intermedie:

SELECT COUNT(*), SUM(X), SUM(Y)

FROM ( SELECT COUNT(*) AS X, SUM(K) AS Y

FROM ( 26

SELECT COUNT(*) AS H, SUM(Ret) AS K

FROM Consulenti

GROUP BY PIVA, dataAss

) B

GROUP BY B.H

) A

Esercizio 1 (9 punti)

Scrivere un algoritmo codificato in linguaggio C/C++ che:

SonoPiuGrande

5. definisce la funzione con parametri:

 a int;

di tipo vettore di 500

 b int;

di tipo vettore di 100

 c int;

di tipo vettore di 500

 d int.

di tipo c a

La funzione deve copiare nel vettore i valori del vettore aumentati del valore

d b.

contenuto nel parametro che sono maggiori di almeno un valore presente nel vettore

main

6. nella funzione x int, y int z int;

V. dichiara tre vettori di 500 di 100 e di 500

x y standard input;

VI. riempire i vettori e con valori letti da

standard input

VII. leggere una sequenza di valori da e per ogni numero della

SonoPiuGrande() x y

sequenza eseguire la funzione con i vettori e ed il

z.

numero della sequenza scrivendo il risultato nel vettore L’operazione termina

standard input

quando viene inserito da un numero negativo

Esercizio 2 (4 punti)

Scrivere un algoritmo codificato in linguaggio C/C++ che:

gradiT.

4. definisce una variabile intera di nome

5. legge da standard input una sequenza di numeri interi positivi che rappresentano dei gradi

sessagesimali (misure di angoli). Per ogni numero della sequenza, se il valore del numero

90 270

letto è compreso tra e (estremi inclusi), tale valore deve essere accumulato in una

gradiT.

variabile di nome gradiT

L'operazione termina quando il valore accumulato nella variabile corrisponde ad un

180 360).

angolo piatto (multiplo di ma non di 27

Esercizio 3 (9 punti)

Il sistema informatico dei una azienda di telefonia mobile utilizza un base di dati per gestire i dati

delle SIM. Nella base di dati sono presenti le seguenti tabelle:

Clienti (IDSIM, CF)

Telefonate (IDSIM, NumeroChiamato, data, ora, tempo,

CostoAlSecondo)

Clienti IDSIM

dove nella relazione l’attributo è una chiave della relazione. Nella relazione

Telefonate IDSIM, data ora IDSIM

gli attributi e formano una chiave e l’attributo è una

Clienti. Telefonate tempo

chiave esterna per la relazione Nella relazione l’attributo

NumeroChiamato

memorizza la durata della telefonata in secondi, l’attributo memorizza il

IDSIM

numero di telefono chiamato e l’attributo memorizza il codice della sim.

Scrivere l'istruzione SQL che: tempo Telefonate

11. pone a zero il valore dell’attributo delle tuple di in cui il valore di

CostoAlSecondo è negativo.

IDSIM

12. visualizza il valore dell'attributo per tutte le sim che in qualche giorno sono state le

uniche ad effettuare delle telefonate;

NumeroChiamato

13. visualizza il valore dell’attributo dei numeri telefonici chiamati il

maggior numero di volte; NumeroChiamato

14. visualizza il valore dell’attributo di tutti i numeri telefonici che hanno

ricevuto almeno due telefonate dalla stessa sim;

15. traduce la seguente espressione in algebra relazionale: operazione di prodotto cartesiano

fra: Clienti

a. la relazione ottenuta da attraverso un'operazione di proiezione

CF

dell’attributo e Telefonate

b. la relazione ottenuta da attraverso un'operazione di proiezione

IDSIM CostoAlSecondo.

degli attributi e 28

Soluzione tema C 03-02-2017

Quesito 3

Main

X Y

- -

3 -

3 10

3 10 G(&x,10)

3 10 Y X C

3 10 &x 10

3 10 &x 10 -

3 10 &x 10 10

3 10 &x 10 10

3 10 &x 10 5

3 10 &x 10 5

3 10 &x 10 2

3 10 &x 10 2

2 10 &x 10 2

-->12

2 12 29

Quesito 4

TABELLA B

H K

2 2000

3 9000

TABELLA A

X Y

1 2000

1 9000

TABELLA FINALE

COUNT(*) SUM(X) SUM(Y)

2 2 11000 30

Esercizio 1

#include <stdlib.h>

#include <stdio.h>

void SonoPiuGrande (int a[500], int b[100], int c[500], int d){

int i,j;

int vero;

int k=0;

for(i=0;i<500;i++){

vero=0;

for(j=0;j<100;j++){

if(a[i]>b[j]) vero=1;

}

if(vero=1){

c[k]=a[i]+d;

k++;

}

}

}

int main() {

int x[500], y[100], z[500];

int i;

int n; 31

for(i=0;i<500;i++) scanf("%d", &x[i]);

for(i=0;i<100;i++) scanf("%d", &y[i]);

do{ scanf("%d",&n);

SonoPiuGrande(x,y,z,n);

}while(n>=0);

system("PAUSE");

return 0;

} 32

Esercizio 2

#include<stdlib.h>

#include<stdio.h>

int main() {

int gradiT=0;

int n;

do{ scanf("%d", &n);

if(n>=90 && n<=270){

gradiT= gradiT+n;

}

}while(gradiT%180!=0 && gradiT%360!=0);

system("PAUSE");

return 0;

} 33

Esercizio 3

Query 1

UPDATE Telefonate

SET tempo=0

WHERE CostoAlSecondo <0

Query 2

SELECT IDSIM

FROM Telefonate

GROUP BY data, IDSIM

HAVING COUNT(*)=1

Query 3

SELECT NumeroChiamato

FROM Telefonate

GROUP BY NumeroChiamato

HAVING COUNT(*) = (SELECT MAX(Conta)

FROM ( SELECT COUNT(*) AS Conta

FROM Telefonate

GROUP BY NumeroChiamato) A

) B

Query 4

SELECT NumeroChiamato

FROM Telefonate

GROUP BY NumeroChiamato, IDSIM

HAVING COUNT(*) >= 2 34

Query 5

SELECT *

FROM ( SELECT CF

FROM Clienti ) A,

( SELECT IDSIM, CostoAlSecondo

FROM Telefonate) B 35

Esame Informatica Generale

03/02/2017 Tema D

Quesito 1 (punteggio 2)

Nel contesto dei Sistemi Operativi descrivere il salvataggio del contesto di un processo.

Quesito 2 (punteggio 2)

Definire formalmente il grado di una relazione.

Quesito 3 (punteggio 2)

Scegliere uno dei seguenti algoritmi codificati in linguaggio C/C++ e scrivere la tabella di

esecuzione (trace table)

Puntatori Riferimenti

int G(int* y, int x) { int G(int& y, int x) {

int c; int c;

c = x; c = x;

while (*y < c) { while (y < c) {

c = c / 3; c = c / 3;

} }

*y = c; y = c;

return c + x; return c + x;

} }

int main() { int main() {

int x, y; int x, y;

x = 2; x = 2; 36

y = 10; y = 10;

y = G(&x, y); y = G(x, y);

return 0; return 0;

} }

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 22-11-2009 1000

222 AAAAAA 28-10-2009 1000

222 BBBBBB 22-11-2009 5000

111 CCCCCC 22-11-2009 1000

222 CCCCCC 30-12-2007 2000

scrivere il risultato della seguente query scrivendo tutte le tabelle intermedie:

SELECT COUNT(*), SUM(X), SUM(Y)

FROM ( SELECT COUNT(*) AS X, SUM(K) AS Y

FROM (

SELECT COUNT(*) AS H, SUM(Ret) AS K

FROM Consulenti 37

GROUP BY PIVA, dataAss

) B

GROUP BY B.K

) A

Esercizio 1 (9 punti)

Scrivere un algoritmo codificato in linguaggio C/C++ che:

Meta

7. definisce la funzione con parametri:

 a int;

di tipo vettore di 500

 b int;

di

Dettagli
Publisher
A.A. 2016-2017
84 pagine
14 download
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher cassy14 di informazioni apprese con la frequenza delle lezioni di Informatica generale e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Milano - Bicocca o del prof Avellone Alessandro.