• Non ci sono risultati.

Reti di calcolatoriProva scritta – 13 luglio 2018

N/A
N/A
Protected

Academic year: 2021

Condividi "Reti di calcolatoriProva scritta – 13 luglio 2018"

Copied!
4
0
0

Testo completo

(1)

Nome Cognome Matricola_______________________________

Reti di calcolatori

Prova scritta – 13 luglio 2018

Esercizio 1 [9 punti]

Si vuole realizzare un servizio Web per raccogliere le statistiche delle velocità di download da un insieme di siti Internet. Il servizio prevede le seguenti pagine:

1. Un form in cui si può/possono scegliere uno o più siti Internet da un menu a scelta multipla, il momento del giorno da un menu a scelta singola e inserire la velocità di download in Mb/s in un campo di testo. Ad ogni invio, il form permette di specificare un insieme di siti Internet per uno stesso momento del giorno se la velocità di download è la stessa. Le opzioni dei menù devono essere generate dinamicamente a partire da array. Si assuma un array che contiene la lista (“s1.com”, ”s2.com”, ”s3.com”, ”s4.com”) per i siti Internet e (“mattina”,

“pomeriggio”, “sera”, “notte”) per i momenti del giorno.

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 sito Internet e momento del giorno si devono memorizzare il massimo e il minimo fra i valori di velocità di download inseriti. I dati devono essere aggiornati solo se il valore inserito è compreso fra 0.1 e 200.

3. Una pagina di riepilogo che stampa una tabella con la coppia velocità di download minima- massima per ogni combinazione sito Internet-momento della giornata, oppure il carattere “-”

se non ci sono valori memorizzati per quella combinazione. Poi, per ogni sito Internet si riportano i momenti della giornata che hanno la maggiore differenza fra la velocità di download massima e minima.

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

$h=0; $d=-100;

while($h<8){

$a[“$h.1”]=$h*1.1;

$h+=3;

}

foreach($a as $k=>$v) if($d<$v-$k)

$d = $v-$k;

$y = “d=$d”;

indicare quali sono le variabili definite nell’interprete dopo l’esecuzione del codice, con il loro tipo e valore (escluse le variabili $h, $k e $v).

Esercizio 3 [punti 5]

Si vuole definire un formato per l’interscambio dati relativo ai punti di interesse in un parco naturalistico. Il file scambiato specifica la lista dei punti di interesse. Ciascun punto di interesse è identificato da un codice numerico (integer) ed ha associato il nome (string), la posizione in coordinate geografiche (string, es. “43.318264, 11.338220”) e la lista degli elementi paesaggistici presenti. Per ogni elemento paesaggistico si specifica il tipo (string, es. “formazione rocciosa”), la valutazione (decimal) e la lista delle descrizioni. Per ogni descrizione si riporta il testo (string), la lingua (string) e l’istante dell’ultima modifica (dateTime). 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 2 (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> questo viene selezionato evidenziandolo colorando il bordo (proprietà borderColor) col colore selezionato in un menu a tendina predefinito. Clickando su un secondo elemento se questo ha ricevuto lo stesso numero di click di quello selezionato (si può usare una proprietà locale definita dall’utente per memorizzare il numero di click in ogni elemento) dell'elemento selezionato in precedenza, si scambiano i colori dello sfondo (proprietà backgroundColor) e l'elemento precedente viene deselezionato (a borderColor viene assegnato il valore originario che deve essere memorizzato). Se il conteggio dei click dei due elementi è diverso non si fa nulla.

Esercizio 6 [punti 5]

Indicare le caratteristiche principali dei servizi di trasporto di tipo stream, facendo qualche esempio dei casi in cui è opportuno usarli.

--- Recupero prima prova --- Svolgere

 Esercizio 1 (PHP) [14 punti]

 Esercizio 2 (PHP) [4 punti]

Rispondere alle seguenti domande

1. Spiegare cosa è la risoluzione dei nomi DNS e indicare quali sono gli agenti principali coinvolti. [6 punti]

2. Illustrare come può avvenire il passaggio dei parametri di un form HMTML verso un server Web. [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.19.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.11.25

26.144.0.1 172.19.48.1

198.1.11.128/26

198.1.11.129

192.168.11.24/30

26.144.0.0/13 172.19.48.3

172.19.48.2

192.168.11.26

198.1.11.64/26 198.1.11.65

26.72.0.0/13 26.72.0.1

26.200.0.0/13 26.200.0.1

(3)

Nome Cognome Matricola_______________________________

Reti di calcolatori

Prova scritta – 13 luglio 2018

Esercizio 1 [9 punti]

Si vuole realizzare un servizio Web per la raccolta delle statistiche sulla produzione di terreni agricoli. Il servizio prevede le seguenti pagine:

1. Un form in cui si può/possono scegliere uno o più terreni da un menu a scelta multipla, il tipo di coltivazione da un menu a scelta singola e la quantità prodotta (quintali) in un campo di testo. Ad ogni invio, il form permette di specificare più terreni per uno stesso tipo di coltivazione se la quantità prodotta è la stessa. Le opzioni dei menù devono essere generate dinamicamente a partire da array. Si assuma un array che contiene la lista (“valle”, ”piana”, ”torrente”, ”collina”) per i terreni e (“grano”, “avena”, “girasole”, “farro”) per i tipi di coltivazione.

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 terreno e tipo di coltivazione si devono memorizzare il numero di inserimenti e il totale delle quantità prodotte. L’inserimento deve essere effettuato solo se il valore di quantità è compreso fra 1.5 e 80.

3. Una pagina di riepilogo che stampa una tabella con la media della quantità di produzione per ogni combinazione terreno-tipo di coltivazione, oppure il carattere “-” se non ci sono valori memorizzati per quella combinazione. Poi, per ogni terreno si riportano i tipi di coltivazione che hanno la minore quantità media di produzione.

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

$j=9; $s=1000;

do {

$w[“$j.1”]=$j*0.1;

$j-=3;

} while($j>0);

foreach($w as $k=>$v) if($s>$v+$k)

$s = $v+$k;

$x = “s=$s”;

indicare quali sono le variabili definite nell’interprete dopo l’esecuzione del codice, con il loro tipo e valore (esclusi le variabili $j, $k, $v).

Esercizio 3 [punti 5]

Si vuole definire un formato per l’interscambio dati relativo alla gestione di un parco commerciale.

Il file scambiato specifica la lista dei negozi. Ciascun negozio è identificato da un codice numerico (integer) ed ha associato un nome (string), la tipologia (string) la lista degli orari di apertura settimanali e la lista delle date di chiusura. Per ogni orario di apertura si specificano il giorno (string, es. “lunedì”), l’ora di apertura (time) e l’ora di chiusura (time). Per ogni data di chiusura si specificano la data di inizio (date) e quella di fine (date). 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 7 (IP, netmask e configurazione di routing) e indicare il contenuto delle tabelle di routing del router R4.

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 <span> questo viene selezionato evidenziandolo con uno sfondo (proprietà backgroundColor) selezionato in un menu a tendina predefinito. Clickando su un secondo elemento se questo è stato clickato un numero maggiore di volte dell'elemento selezionato in precedenza (si può usare una proprietà locale definita dall’utente per memorizzare il numero di click in ogni elemento), si scambiano il tipo di font del carattere (proprietà fontFamily) e l'elemento precedente viene deselezionato (a backgroundColor viene assegnato il valore originario che deve essere memorizzato). Se il numero di click ricevuti dal secondo elemento non è maggiore di quello dell’elemento selezionato non si fa nulla.

Esercizio 6 [punti 5]

Spiegare il meccanismo con cui avviene la risoluzione di un nome DNS.

--- Recupero prima prova --- Svolgere

 Esercizio 1 (PHP) [14 punti]

 Esercizio 2 (PHP) [4 punti]

 Esercizio 6 (domanda) [6 punti]

Rispondere alla seguente domanda

 Spiegare quali sono le caratteristiche della codifica multipart/form-data. [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 come avviene la gestione degli eventi con listener/handler in javascript. [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.24.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.9.29

207.3.22.129 10.24.0.1

207.3.22.64/27

207.3.22.65

192.168.9.28/30

207.3.22.128/27 10.24.0.3

10.24.0.2

192.168.9.30

143.33.144.0/20 143.33.144.1

207.3.22.96/27 207.3.22.97

143.33.16.0/20 143.33.16.1

Riferimenti

Documenti correlati

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;

Si scriva il codice javascript necessario ad implementare la seguente funzionalità in una pagina HTML: quando si passa sopra una riga di una tabella (elemento

Si scriva il codice javascript necessario ad implementare la seguente funzionalità in una pagina HTML: scrivendo in un campo di testo predefinito il nome di una

Si scriva il codice javascript necessario ad implementare la seguente funzionalità in una pagina HTML: cliccando su una immagine (tag HTML &lt;img&gt;), questa e tutte

Una pagina di riepilogo che stampa una tabella con la media di peso per ogni combinazione compagnia-fascia oraria, oppure il carattere “-” se non c'è un

Una pagina di raccolta dei dati che, per ogni orario e punto di misura, memorizza sul server il valore massimo e minimo dei livelli di rumore inseriti col form di cui al punto 1

Clickando su un elemento &lt;td&gt; diverso da quello selezionato, prima di selezionarlo si deseleziona quello precedente ripristando il colore dello sfondo al valore originario

Una pagina di riepilogo che stampa una tabella con il tempo di intervento medio per intervento rispetto ad ogni opzione malfunzionamento-linea (se non