Anteprima
Vedrai una selezione di 29 pagine su 140
Soluzione Temi Esame Informatica Generale 2016 Pag. 1 Soluzione Temi Esame Informatica Generale 2016 Pag. 2
Anteprima di 29 pagg. su 140.
Scarica il documento per vederlo tutto.
Soluzione Temi Esame Informatica Generale 2016 Pag. 6
Anteprima di 29 pagg. su 140.
Scarica il documento per vederlo tutto.
Soluzione Temi Esame Informatica Generale 2016 Pag. 11
Anteprima di 29 pagg. su 140.
Scarica il documento per vederlo tutto.
Soluzione Temi Esame Informatica Generale 2016 Pag. 16
Anteprima di 29 pagg. su 140.
Scarica il documento per vederlo tutto.
Soluzione Temi Esame Informatica Generale 2016 Pag. 21
Anteprima di 29 pagg. su 140.
Scarica il documento per vederlo tutto.
Soluzione Temi Esame Informatica Generale 2016 Pag. 26
Anteprima di 29 pagg. su 140.
Scarica il documento per vederlo tutto.
Soluzione Temi Esame Informatica Generale 2016 Pag. 31
Anteprima di 29 pagg. su 140.
Scarica il documento per vederlo tutto.
Soluzione Temi Esame Informatica Generale 2016 Pag. 36
Anteprima di 29 pagg. su 140.
Scarica il documento per vederlo tutto.
Soluzione Temi Esame Informatica Generale 2016 Pag. 41
Anteprima di 29 pagg. su 140.
Scarica il documento per vederlo tutto.
Soluzione Temi Esame Informatica Generale 2016 Pag. 46
Anteprima di 29 pagg. su 140.
Scarica il documento per vederlo tutto.
Soluzione Temi Esame Informatica Generale 2016 Pag. 51
Anteprima di 29 pagg. su 140.
Scarica il documento per vederlo tutto.
Soluzione Temi Esame Informatica Generale 2016 Pag. 56
Anteprima di 29 pagg. su 140.
Scarica il documento per vederlo tutto.
Soluzione Temi Esame Informatica Generale 2016 Pag. 61
Anteprima di 29 pagg. su 140.
Scarica il documento per vederlo tutto.
Soluzione Temi Esame Informatica Generale 2016 Pag. 66
Anteprima di 29 pagg. su 140.
Scarica il documento per vederlo tutto.
Soluzione Temi Esame Informatica Generale 2016 Pag. 71
Anteprima di 29 pagg. su 140.
Scarica il documento per vederlo tutto.
Soluzione Temi Esame Informatica Generale 2016 Pag. 76
Anteprima di 29 pagg. su 140.
Scarica il documento per vederlo tutto.
Soluzione Temi Esame Informatica Generale 2016 Pag. 81
Anteprima di 29 pagg. su 140.
Scarica il documento per vederlo tutto.
Soluzione Temi Esame Informatica Generale 2016 Pag. 86
Anteprima di 29 pagg. su 140.
Scarica il documento per vederlo tutto.
Soluzione Temi Esame Informatica Generale 2016 Pag. 91
Anteprima di 29 pagg. su 140.
Scarica il documento per vederlo tutto.
Soluzione Temi Esame Informatica Generale 2016 Pag. 96
Anteprima di 29 pagg. su 140.
Scarica il documento per vederlo tutto.
Soluzione Temi Esame Informatica Generale 2016 Pag. 101
Anteprima di 29 pagg. su 140.
Scarica il documento per vederlo tutto.
Soluzione Temi Esame Informatica Generale 2016 Pag. 106
Anteprima di 29 pagg. su 140.
Scarica il documento per vederlo tutto.
Soluzione Temi Esame Informatica Generale 2016 Pag. 111
Anteprima di 29 pagg. su 140.
Scarica il documento per vederlo tutto.
Soluzione Temi Esame Informatica Generale 2016 Pag. 116
Anteprima di 29 pagg. su 140.
Scarica il documento per vederlo tutto.
Soluzione Temi Esame Informatica Generale 2016 Pag. 121
Anteprima di 29 pagg. su 140.
Scarica il documento per vederlo tutto.
Soluzione Temi Esame Informatica Generale 2016 Pag. 126
Anteprima di 29 pagg. su 140.
Scarica il documento per vederlo tutto.
Soluzione Temi Esame Informatica Generale 2016 Pag. 131
Anteprima di 29 pagg. su 140.
Scarica il documento per vederlo tutto.
Soluzione Temi Esame Informatica Generale 2016 Pag. 136
1 su 140
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

H

3000

5000

3000

TABELLA B

H

1

2

TABELLA A X B

A.H B.H

3000 1

5000 1

3000 1

3000 2

5000 2

3000 2

TABELLA FINALE

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

6000 2 2

5000 1 1

6000 4 2

5000 2 1

Dispensa Temi Esame Informatica Generale Page 19

Esercizio 1 (9 punti)

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

1. definisce la funzione Differenza con parametri:

I. a di tipo vettore di 100 int;

II. b di tipo vettore di 500 int;

III. c di tipo vettore di 500 int

La funzione scrive nel vettore c tutti i valori del vettore b che non sono contenuti nel vettore a.

2. nella funzione main

I. dichiarare due vettori x e z di 500 int ed y di 100 int;

II. riempire il vettore x con valori letti da standard input in modo tale che alla fine

dell’operazione il vettore x non contenga due valori uguali;

III. riempire il vettore y con valori letti da standard input;

IV. richiamare la funzione Differenza() con i parametri y, x e z.

Dispensa Temi Esame Informatica Generale Page 20

#include<stdlib.h>

#include<stdio.h>

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

int i,j,k;

int v;

/* La funzione scrive nel vettore c tutti i valori del vettore b che non sono contenuti

nel vettore a */

k=0;

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

v=0;

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

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

}

if(v==0){

c[k]=b[i];

k++;

}

}

}

int main(){

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

int i,n,k;

int v;

/* riempire il vettore x con valori letti da standard input in modo tale che alla

fine dell’operazione il vettore x non contenga due valori uguali; */

i=0;

while(i<500){

scanf("%d",&n);

v=0;

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

if(n==x[k]) v=1;

}

if(v==0){

x[i]=n;

Dispensa Temi Esame Informatica Generale Page 21

i=i+1;

}

}

/*riempire il vettore y con valori letti da standard input; */

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

scanf("%d",&y[i]);

}

differenza(y,x,z);

system("PAUSE");

return 0;

}

Dispensa Temi Esame Informatica Generale Page 22

Esercizio 2 (4 punti)

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

1. legge da standard input un numero intero positivo che rappresenta un valore espresso in settimane

e lo inserisce in una variabile di nome S.

2. legge da standard input una sequenza di numeri interi che rappresentano una quantità di giorni.

Per ogni numero della sequenza il programma deve:

a. aggiungere il valore della sequenza ad una variabile di nome T;

b. visualizzare su standard output il valore contenuto nella variabile T espresso in settimane e

giorni. Ad esempio il numero 88 deve produrre su standard output il seguente messaggio:

12 settimane e 4 giorni

L’operazione di lettura termina quando il valore accumulato nella variabile T supera le settimane contenute

nella variabile S.

Dispensa Temi Esame Informatica Generale Page 23

#include<stdlib.h>

#include<stdio.h>

int main() {

int S, T = 0, n;

/* legge da standard input un numero intero positivo che rappresenta un valore espresso in settimane e lo

inserisce in una variabile di nome S. */

scanf("%d", &S);

/*punto 2*/

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

T = T + n;

printf("%d settimane e ", T / 7);

printf("%d giorni", T % 7);

} while (T/7 < S);

system("PAUSE");

return 0;

}

Dispensa Temi Esame Informatica Generale Page 24

Esercizio 3 (9 punti)

Il sistema informatico del 118 utilizza un database per gestire gli interventi di un pronto soccorso. Nella

base di dati è presente la seguente tabella:

InvioAmbulanze (Targa, Data, CodiceIntervento, CodiceOspedale)

dove nella relazione InvioAmbulanze gli attributi Targa e Data formano la chiave primaria. Ogni tupla della

relazione InvioAmbulanze serve a memorizzare l’invio delle ambulanze.

L’attributo CodiceOspedale ha valore nullo quando l’ambulanza non necessita l’accompagnamento in

ospedale, i valori dell’attributo CodiceIntervento possono essere ‘Rosso’, ‘Giallo’, ‘Verde’ e ‘Bianco’ a

seconda della gravità dell’intervento, l’attributo Targa è la targa dell’ambulanza.

Scrivere l'istruzione SQL che:

1. imposta a ‘Bianco’ il valore di CodiceIntervento per tutte le tuple per le quali il valore di

CodiceOspedale è nullo.

2. visualizza il valore dell’attributo CodiceOspedale per gli ospedali in cui è arrivata la stessa

ambulanza almeno due volte;

3. visualizza per ogni ambulanza il numero di interventi in cui non si è reso necessario

l’accompagnamento in ospedale.

4. visualizza le ambulanze che anno effettuato un numero di interventi con codice ‘Rosso’ pari a

quello con codice ‘Bianco’ .

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

a. la relazione ottenuta da InvioAmbulanze attraverso un’operazione di selezione con

predicato di selezione Data = ‘2016-04-05’ e

b. la relazione ottenuta da InvioAmbulanze attraverso un’operazione di proiezione degli

attributi Targa e CodiceIntervento.

Dispensa Temi Esame Informatica Generale Page 25

QUERY 1

UPDATE InvioAmbulanze

SET CodiceIntervento = ‘Bianco’

WHERE CodiceOspedale IS NULL

QUERY 2

SELECT CodiceOspedale

FROM InvioAmbulanze

GROUP BY CodiceOspedale

HAVING COUNT(Targa) > 1

QUERY 3

SELECT Targa, COUNT(*)

FROM InvioAmbulanze

WHERE CodiceOspedale IS NULL

GROUP BY Targa

QUERY 4

SELECT Targa

FROM (SELECT Targa, COUNT(*) AS InterventiR

FROM InvioAmbulanze

WHERE CodiceIntervento = ‘Rosso’

GROUP BY Targa) A,

(SELECT Targa, COUNT(*) AS InterventiB

FROM InvioAmbulanze

WHERE CodiceIntervento = ‘Bianco’

GROUP BY Targa) B

WHERE A.Targa = B.Targa AND InterventiR = InterventiB

QUERY 5

SELECT *

FROM (SELECT *

FROM InvioAmbulanze

WHERE Data = ‘2016-04-05’) A,

(SELECT Targa, CodiceIntervento

FROM InvioAmbulanze) B

Dispensa Temi Esame Informatica Generale Page 26

Esame Informatica Generale 06/07/2016 Tema D

Esercizio 1 (9 punti)

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

1. definisce la funzione carica() che ha in ingresso:

a. a di tipo vettore di 100 double;

b. b di tipo vettore di 100 double;

c. inf e sup di tipo int.

La funzione per ogni elemento nel vettore A verifica se esso è compreso tra i valori in inf e sup

(estremi inclusi) e in caso affermativo lo scrive nel vettore a B consecutivamente. La funzione

deve inoltre restituire il numero di elementi inseriti in B.

2. Scrivere la funzione main() che:

a. definisce due vettori di 100 elementi x ed y e le variabili intere inf, sup e r;

b. ripetere le seguenti azioni:

i. Inserisce in ogni posto del vettore x un valore letto da standard input;

ii. Inserisce due valori letti da standard input nelle variabili inf e sup;

iii. Esegue la funzione carica() applicata al vettore x e alle variabili inf e sup scrivendo il

risultato nel vettore y e nella variabile r.

L’operazione deve terminare quando il valore della variabile r è uguale a 100.

Dispensa Temi Esame Informatica Generale Page 27

#include<stdlib.h>

#include<stdio.h>

int carica(double a[100], double b[100], int inf, int sup){

int i,j;

/*La funzione per ogni elemento nel vettore A verifica se esso è compreso tra i

valori in inf e sup (estremi inclusi) e in caso affermativo lo scrive nel vettore a B

consecutivamente. */

j=0;

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

if(a[i]>=inf && a[i]<=sup){

b[j]=a[i];

j++;

}

}

/*La funzione deve inoltre restituire il numero di elementi

inseriti in B. */

return j;

}

int main(){

double x[100],y[100];

int inf,sup,r;

int i;

r=0;

while(r<100){

/*Inserisce in ogni posto del vettore x un valore letto da standard

input; */ for(i=0;i<100;i++){

scanf("%d",&x[i]);

}

/* Inserisce due valori letti da standard input nelle variabili inf e sup; */

scanf("%d",&inf);

scanf("%d",&sup);

Dispensa Temi Esame Informatica Generale Page 28

/*Esegue la funzione carica() applicata al vettore x e alle variabili

inf e sup scrivendo il risultato nel vettore y e nella variabile r. */

r=carica(x,y,inf,sup);

}

system("PAUSE");

return 0;

}

Dispensa Temi Esame Informatica Generale Page 29

Esercizio 2 (4 punti)

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

Definisce le seguenti variabili:

 vd1 vettore di 100 double;

 vd2 vettore di 100 double;

 r di tipo int.

La funzione:

 Inserisce nel vettore vd1 valori letti da standard input;

 Inserisce nel vettore vd2 valori letti da standard input;

 scrive nella variabile r il numero di elementi del vettore vd1 che sono maggiori di tutti gli elementi

del vettore vd2.

Dispensa Temi Esame Informatica Generale Page 30

#include<stdlib.h>

#include<stdio.h>

int main(){

double vd1[100],vd2[100];

int r;

int i,j;

int conta;

/* Inserisce nel vettore vd1 valori letti da standard input; */

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

scanf("%lf",&vd1[i]);

}

/* Inserisce nel vettore vd2 valori letti da standard input; */

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

scanf("%lf",&vd2[i]);

}

/* scrive nella variabile r il numero di elementi del vettore vd1 che sono maggiori di tutti gli elementi del

vettore vd2. */

r=0; for(i=0;i<100;i++){

conta=0;

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

if(vd2[j]>vd1[i]) conta=1;

}

if(conta==0) r++;

}

system("PAUSE");

return 0;

}

Dispensa Temi Esame Informatica Generale Page 31

Esercizio 3 (9 punti)

Una base di dati per la gestione delle fatture di una azienda contiene tra le altre le seguenti relazioni:

Importo (IDVoce, dataVar, Valore)

FatturaVoci (NUMFatt, IDVoce, Quantita)

Gli attributi che formano la chiave primaria sono indicati in grassetto. Le tuple della relazione FatturaVoci è

un numero intero e indica quanti articoli della stessa voce sono stati acquistati, mentre l’attributo IDVoce è

il codice del bene/servizio. Le tuple della relazione importo servono a memorizzare il costo dei beni/servizi,

l’attributo dataVar indica il giorno da cui è iniziata la vendita con il prezzo indicato nel campo valore, ovvero

vi è stata una variazione di prezzo.

Scrivere l'istruzione SQL che:

1. visualizza per ogni valore di IDVoce il numero totale di fatture in cui compare un valore di Quantita

inferiore a 10

Dettagli
Publisher
A.A. 2016-2017
140 pagine
9 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.