• Non ci sono risultati.

Reti di calcolatoriProva scritta – 25 giugno 2015

N/A
N/A
Protected

Academic year: 2021

Condividi "Reti di calcolatoriProva scritta – 25 giugno 2015"

Copied!
4
0
0

Testo completo

(1)

Nome Cognome Matricola_______________________________

Reti di calcolatori

Prova scritta – 25 giugno 2015

Esercizio 1 [9 punti]

Si vuole realizzare un servizio Web per il monitoraggio dei consumi elettrici di un insieme di alloggi.

Il servizio prevede le seguenti pagine:

1. Un form in cui si può scegliere uno o più blocchi di alloggi da un menu a scelta multipla, la fascia oraria da un menu a scelta singola e inserire il consumo in Kwh in un campo di testo.

Il form permette di specificare un insieme di blocchi di alloggi per una stessa fascia oraria ad ogni invio. Le opzioni dei menù devono essere generate dinamicamente a partire da array. Si assuma un array che contiene la lista (“A”, ”B”, ”C”, ”D”) per i blocchi di alloggi e (“Mattina”, “Pomeriggio”, “Sera”, “Notte”) per le fasce orarie.

2. Una pagina di raccolta dei dati che memorizza sul server gli inserimenti fatti col form di cui al punto 1 nella stessa sessione di lavoro. Per ogni blocco e fascia oraria si devono memorizzare il minimo e il massimo fra i valori inseriti.

3. Una pagina di riepilogo che stampa una tabella con la coppia minimo-massimo consumo per ogni opzione blocco-fascia oraria per cui sono state memorizzati i consumi (il carattere

“-” se non ci sono valori memorizzati). Si riportano per ogni blocco le fasce che hanno la differenza fra consumo massimo e minimo maggiore.

Si scrivano il form e le due pagine di raccolta dati e riepilogo usando HTML/PHP. Si supponga di utilizzare il metodo POST nel form.

Esercizio 2 [2 punti]

Dato il seguente codice PHP

$a['2.1'] = 1;

$a['2.2'] = “1.${a['2.1']}2”;

$a['2.3'] = ’1${a[“2.2”]}1’;

foreach($a as $k=>$v) $s += $k+$v;

indicare quali sono le variabili definite nell’interprete dopo l’esecuzione del codice, con il loro tipo e valore.

Esercizio 3 [punti 5]

Si vuole definire un formato per l’interscambio dati relativo alla produzione energetica di un insieme di impianti a energie alternative. Il file scambiato specifica la lista degli impianti. Ciascun impianto è identificato da un codice numerico (integer) ed ha associata la località in cui si trova (string), il tipo di impianto (string, es. “eolico”), la lista dei dispositivi presenti nell'impianto e la lista delle misure effettuate periodicamente. Per ogni dispositivo si specifica l’identificatore (integer), il tipo (string, es. “pala eolica”) e la data di installazione (date). Ogni misura è caratterizzata dall'istante della misura (dateTime), dal valore (decimal), dal tipo (string, es. “potenza”) e dall'identificatore del dispositivo da cui proviene. Si proponga la struttura XML necessaria, mostrando un esempio, e si scriva il file XML schema associato.

(2)

Esercizio 4 [punti 4]

Dato il seguente schema di rete

scegliere la configurazione di rete dell’host 8 (IP, netmask e configurazione di routing) e indicare il contenuto delle tabelle di routing del router R1.

Esercizio 5 [punti 5]

Si scriva il codice javascript necessario ad implementare la seguente funzionalità in una pagina HTML: clickando su un elemento di tipo <div> se la sua classe è di tipo “color” il colore di sfondo viene cambiato in base al valore selezionato in un menu a tendina con id “colsel”; se la classe è

“font” si cambia il tipo di font (font-family in style) in base la valore selezionato in un menu a tendina con id “fontsel” (l'attributo class è accessibile a javascript come className). Quando si clicka su un nuovo elemento <div>, le proprietà di quello precedente vengono ripristinate ai valori originari (devono essere memorizzati).

Esercizio 6 [punti 5]

Spiegare a cosa serve l'operazione di bind() nel setup di un socket server e quali possono essere alcuni errori che si possono generare.

--- Recupero prima prova --- Svolgere

 Esercizio 1 (PHP) [14 punti]

 Esercizio 2 (PHP) [4 punti]

Rispondere alle seguenti domande

1. Illustrare la relazione esistente fra server Top Level Domain e server di competenza nel sistema DNS. [6 punti]

2. Illustrare cosa è l'encoding multipart per i form HTML e motivare il suo uso. [6 punti]

--- Recupero seconda prova --- Svolgere

 Esercizio 3 (XML) [punti 8]

 Esercizio 4 (indirizzi IP) [punti 6]

 Esercizio 5 (javascript) [punti 8]

 Esercizio 6 (domanda) [punti 8]

Host 1 Host 2

Host 3 Host 4

Host 5

Host 6

Host 7 Host 8 Host 9

Host 10

Internet

R4

R2

R3 R1

172.15.48.0/20 serial 0

serial 0

serial 0 eth 0

eth 0

eth 0

eth 0 eth 1

eth 1 eth 1

Host 11

eth 1 192.168.7.85

198.3.33.33 172.15.48.1

199.3.33.160/27

199.3.33.161

192.168.7.84/30

198.3.33.32/27 172.15.48.3

172.15.48.2

192.168.7.86

17.80.0.0/13 17.80.0.1

17.144.0.0/13 17.144.0.1

17.112.0.0/13 17.112.0.1

(3)

Nome Cognome Matricola_______________________________

Reti di calcolatori

Prova scritta – 25 giugno 2015

Esercizio 1 [9 punti]

Si vuole realizzare un servizio Web per la raccolta dei dati di produzione di energia elettrica di un impianto fotovoltaico. Il servizio prevede le seguenti pagine:

1. Un form in cui si può scegliere un o più gruppi di panelli da un menu a scelta multipla, la condizione meteo da un menu a scelta singola e l'energia prodotta in Kwh in un campo di testo. Il form permette di specificare più gruppi di pannelli per una stessa condizione meteo ad ogni invio. Le opzioni dei menù devono essere generate dinamicamente a partire da array. Si assuma un array che contiene la lista (“Monte”, ”Valle”, ”Piano”, ”Vetta”) per i gruppi di pannelli e (“Sereno”, “Poco coperto”, “Coperto”, “Pioggia”) per le condizioni meteo.

2. Una pagina di raccolta dei dati che memorizza sul server gli inserimenti fatti col form di cui al punto 1 nella stessa sessione di lavoro. Per ogni gruppo di pannelli e condizione meteo si devono memorizzare il numero di misure e il totale dell'energia prodotta.

3. Una pagina di riepilogo che stampa una tabella con la media dell'energia prodotta per ogni opzione gruppo di pannelli-condizione meteo (il carattere “-” se non ci sono valori memorizzati). Si riportano per ogni condizione meteo i gruppi di pannelli che hanno ottenuto la produzione media minore.

Si scrivano il form e le due pagine di raccolta dati e riepilogo usando HTML/PHP. Si supponga di utilizzare il metodo POST nel form.

Esercizio 2 [2 punti]

Dato il seguente codice PHP

$a['1.a'] = 1.1;

$a['1.b'] = “${a['1.a']}1”;

$a['1.c'] = ’1${a[“1.c”]}1’;

foreach($a as $k=>$v) $s += $v-$k;

indicare quali sono le variabili definite nell’interprete dopo l’esecuzione del codice, con il loro tipo e valore.

Esercizio 3 [punti 5]

Si vuole definire un formato per l’interscambio dati relativo alla gestione di impianti di interconnessione di rete. Il file scambiato specifica la lista degli impianti. Ciascun impianto è identificato da un codice numerico (integer) ed ha associato il luogo in cui si trova (string), il numero di apparati di cui dispone (integer), una lista delle linee in uscita e una lista di statistiche sul traffico. Per ogni linea in uscita si specificano un identificatore (string), la tipologia (es.

“Metroethernet”, string), la velocità in Gbps (decimal) e il codice dell'altro impianto a cui è collegata (integer). Ogni statistica prevede l'istante a cui si riferisce (datetime), il valore (decimal), il tipo (string, es. “IP datagrams out”) e la linea a cui si riferisce (integer). Si proponga la struttura XML necessaria, mostrando un esempio, e si scriva il file XML schema associato.

(4)

Esercizio 4 [punti 4]

Dato il seguente schema di rete

scegliere la configurazione di rete dell’host 11 (IP, netmask e configurazione di routing) e indicare il contenuto delle tabelle di routing del router R3.

Esercizio 5 [punti 5]

Si scriva il codice javascript necessario ad implementare la seguente funzionalità in una pagina HTML: clickando su un paragrafo (tag <P>), se la sua classe è “background” il suo colore di sfondo assume il valore selezionato in un menu a tendina con id “bgcol”; se le sua classe è “align”

il suo allineamento (text-align in style) diventa center se il checkbox con id “center” è flaggato (l'attributo class è accessibile a javascript come className e lo stato del checkbox on checked).

Quando si clicka su un altro paragrafo le proprietà del precedente riassumono I valori iniziali (si devono memorizzare).

Esercizio 6 [punti 5]

Illustrare le modalità di encoding dei caratteri previste dallo standard UNICODE e dare un breve motivazione sulla necessità che ha portato a definirle.

--- Recupero prima prova --- Svolgere

 Esercizio 1 (PHP) [14 punti]

 Esercizio 2 (PHP) [4 punti]

 Esercizio 6 (domanda) [6 punti]

Rispondere alla seguente domanda

 Illustrare cosa è l'encoding multipart per i form HTML e motivare il suo uso. [6 punti]

--- Recupero seconda prova --- Svolgere

 Esercizio 3 (XML) [punti 8]

 Esercizio 4 (indirizzi IP) [punti 6]

 Esercizio 5 (javascript) [punti 8]

Rispondere alla seguente domanda

 Spiegare i motivi per cui si è evoluta la programmazione client-side e i problemi che sono stati affrontati nella sua implementazione [punti 8]

Host 1 Host 2

Host 3 Host 4

Host 5

Host 6

Host 7 Host 8 Host 9

Host 10

Internet

R4

R2

R3 R1

10.40.0.0/13 serial 0

serial 0

serial 0 eth 0

eth 0

eth 0

eth 0 eth 1

eth 1 eth 1

Host 11

eth 1 192.168.8.13

201.3.33.65 10.40.0.1

201.3.33.128/26

201.3.33.129

192.168.8.12/30

201.3.33.64/26 10.40.0.3

10.40.0.2

192.168.8.14

152.22.160.0/19 152.22.160.1

152.22.96.0/19 152.22.96.1

152.22.224.0/19 152.22.224.1

Riferimenti

Documenti correlati

Un form in cui si può scegliere l'apparecchiatura frigorifera da un menu a scelta singola, il/i comparto/i da un menù a scelta multipla e la temperatura (un numero con

Si scriva il codice javascript necessario ad implementare la seguente funzionalità in una pagina HTML: cliccando su una delle celle di una tabella predefinita il suo

Si scriva il codice javascript necessario ad implementare la seguente funzionalità in una pagina HTML: clickando su un elemento di tipo &lt;div&gt; questo viene

Un form in cui si può scegliere il nome del peschereccio da un menu a scelta singola, il/i tipo/i di pesce da un menù a scelta multipla e la quantità in kg (un numero) in un campo

Per ciascun batterio sono specificati un codice identificativo (integer), il nome scientifico (string), la dimensione media (decimal), il tipo di forma (string, es. “cocchi”) e la

multipla, la fascia oraria della rilevazione da un menu a scelta singola e inserire il volume di acqua in m 3 transitato nella fascia oraria, in un campo di testo.. Ad ogni invio,

Si scriva il codice javascript necessario ad implementare la seguente funzionalità in una pagina HTML: data una tabella con celle con contenuto di testo assegnato,

Si scriva il codice javascript necessario ad implementare la seguente funzionalità in una pagina HTML: entrando con il cursore in un elemento di tipo &lt;p&gt;