• Non ci sono risultati.

Reti di calcolatoriProva scritta – 27 giugno 2016

N/A
N/A
Protected

Academic year: 2021

Condividi "Reti di calcolatoriProva scritta – 27 giugno 2016"

Copied!
4
0
0

Testo completo

(1)

Nome Cognome Matricola_______________________________

Reti di calcolatori

Prova scritta – 27 giugno 2016

Esercizio 1 [9 punti]

Si vuole realizzare un servizio Web per il monitoraggio del numero di passeggeri in arrivo in un aeroporto. Il servizio prevede le seguenti pagine:

1. Un form in cui si può scegliere uno o più aeroporti di provenienza da un menu a scelta multipla, la compagnia aerea da un menu a scelta singola e inserire il numero di passeggeri in un campo di testo. Ad ogni invio, il form permette di specificare un insieme di aeroporti di partenza per una stessa compagnia aerea se il numero di passeggeri è lo stesso. Le opzioni dei menù devono essere generate dinamicamente a partire da array. Si assuma un array che contiene la lista (“FCO”, ”JFK”, ”CDG”, ”LAX”) per gli aeroporti di provenienza e (“LH”, “BA”, “QF”, “EK”) per le compagnie aeree.

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 aeroporto di provenienza e compagnia aerea si devono memorizzare il totale dei passeggeri specificati in tutti gli arrivi inseriti e il numero di arrivi.

3. Una pagina di riepilogo che stampa una tabella con il numero di passeggeri medio per ogni combinazione aeroporto di provenienza-compagnia aerea, oppure il carattere “-” se non ci sono valori memorizzati per quella combinazione. Poi, per ogni aeroporto di provenienza si riportano le compagnie che hanno la media maggiore di passeggeri.

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

$i = 2;

do {

$x[“n.$i”] = $i--.”0”;

} while($i>=0);

$y = $x[“n.0”]+$x[“n.2”];

$z = $x[“n.1”]*0.5;

indicare quali sono le variabili definite nell’interprete dopo l’esecuzione del codice, con il loro tipo e valore (esclusi gli indici usati nel ciclo while).

Esercizio 3 [punti 5]

Si vuole definire un formato per l’interscambio dati relativo ai voli in arrivo in un aeroporto. Il file scambiato specifica la lista dei voli. Ciascuna volo è identificato da un codice alfanumerico (string, es. “LH234”) ed ha associato il codice dell'aeroporto di provenienza (string, es. “FCO”), la data di arrivo (date), l'ora di arrivo (time), la lista dei membri dell'equipaggio e la lista dei passeggeri. Per ogni membro dell'equipaggio si specifica la matricola (integer), il nome (string) e il ruolo (string, es.

“pilota”). Per ogni passeggero si specificano il posto assegnato sull'aereo (string, es. “5B”.), il

nome (string) e il peso del bagaglio imbarcato (decimal) 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 7 (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: entrando con il cursore in un elemento di tipo <p> (evento onmousover) questo viene selezionato evidenziandolo cambiando il colore di sfondo in giallo (alla proprietà backgroundColor si assegna il valore “yellow”). Entrando in un secondo elemento se questo ha la stessa dimensione di carattere (proprietà fontSize) dell'elemento selezionato in precedenza, si scambia il contenuto HTML dei due elementi e l'elemento precedente viene deselezionato (a backgroundColor viene assegnato il valore “initial”). Se i due elementi non hanno la stessa dimensione di font non si effettua nessuna variazione.

Esercizio 6 [punti 5]

Indicare le principali caratteristiche che differenziano i servizi di trasporto di tipo stream e di tipo datagram.

--- Recupero prima prova --- Svolgere

 Esercizio 1 (PHP) [14 punti]

 Esercizio 2 (PHP) [4 punti]

Rispondere alle seguenti domande

1. Spiegare il funzionamento della risoluzione dei nomi DNS a livello di Sistema Operativo. [6 punti]

2. Illustrare le caratteristiche della codifica url-encoded per l'invio dei dati da form HTML. [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.18.52.0/22 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

47.208.0.1

172.18.52.1

193.1.22.0/25

193.1.22.1

192.168.9.28/30

47.208.0.0/13

172.18.52.3

172.18.52.2

192.168.9.30

193.1.22.128/25 193.1.22.129

47.80.0.0/13 47.80.0.1

47.112.0.0/13

47.112.0.1

(3)

Nome Cognome Matricola_______________________________

Reti di calcolatori

Prova scritta – 27 giugno 2016

Esercizio 1 [9 punti]

Si vuole realizzare un servizio Web per la raccolta dei statistiche sui consumi dei veicoli di un operatore di trasporto pubblico. Il servizio prevede le seguenti pagine:

1. Un form in cui si può scegliere uno o più veicoli da un menu a scelta multipla, il tragitto da un menu a scelta singola e il numero di litri di carburante consumato in un campo di testo.

Ad ogni invio, il form permette di specificare più veicoli per uno stesso tragitto se il carburante consumato è lo stesso. Le opzioni dei menù devono essere generate dinamicamente a partire da array. Si assuma un array che contiene la lista (“AK333BK”,

”ET666XT”, ”IG888VF”, ”OT555UT”) per li veicoli e (“FI-SI”, “FI-AR”, “FI-PI”, “FI-GR”) peri tragitti.

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 veicolo e tragitto si devono memorizzare il consumo minimo e quello massimo fra quelli inseriti.

3. Una pagina di riepilogo che stampa una tabella con le coppie consumo minimo-consumo massimo per ogni combinazione veicolo-tragitto, oppure il carattere “-” se non ci sono valori memorizzati per quella combinazione. Poi, per ogni veicolo si riportano i tragitti che hanno la maggiore differenza fra consumo massimo e consumo minimo.

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 = 0;

while($j<3) {

$w[“e.$j”] = ”1$j”.(++$j);

};

$x = $w[“e.0”]+$w[“e.2”];

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

indicare quali sono le variabili definite nell’interprete dopo l’esecuzione del codice, con il loro tipo e valore (esclusi gli indici usati nel ciclo while).

Esercizio 3 [punti 5]

Si vuole definire un formato per l’interscambio dati relativo alla gestione di una bacheca on-line per

la pubblicazione di messaggi. Il file scambiato specifica la lista degli utenti. Ciascuna utente è

identificato da un username (string) ed ha associata la data di registrazione (date), l'istante

dell'ultimo login (dateTime), l'età (decimal), la lista degli utenti che lo seguono (followers) e la lista

dei post. Per follower si specificano l'identificatore (string), la data di iscrizione (date) e il tipo di

relazione (integer, un codice interno es. 0→ “amico”, 1→”amico di amico”,..). Per ogni post si

specificano il momento della pubblicazione (dateTime), il testo (string) e la visibilità (integer, un

codice es. 0 → “solo amici”,..). 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: entrando in un elemento di tipo <h2> (evento onmouseover) questo viene selezionato cambiando il colore del testo in rosso (alla proprietà color si assegna il valore “red”). Entrando in un secondo elemento se questo ha lo stesso tipo di font (proprietà fontFamily) dell'elemento selezionato in precedenza, si scambiano i contenuti HTML e l'elemento precedente viene deselezionato (a color viene assegnato il valore “initial”). Se i due elementi hanno tipi di carattere diversi diversa non si effettua nessuna variazione.

Esercizio 6 [punti 5]

Descrivere il protocollo con cui interagiscono il client DNS (resolver) e il server DNS motivando le principali soluzioni adottate.

--- Recupero prima prova --- Svolgere

 Esercizio 1 (PHP) [14 punti]

 Esercizio 2 (PHP) [4 punti]

 Esercizio 6 (domanda) [6 punti]

Rispondere alla seguente domanda

 Illustrare le principali codifiche che si possono usare per inviare i dati di un form HTML (attributo enctype). [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

 Illustrare come funziona la programmazione ad eventi nella programmazione 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.176.0.0/12 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.1.85

194.3.86.193

10.176.0.1

194.3.86.128/26

194.3.86.129

192.168.1.84/30

194.3.86.192/26

10.176.0.3

10.176.0.2

192.168.1.86

129.99.96.0/19 129.99.96.1

194.3.86.64/26 194.3.86.65

129.99.160.0/19

129.99.160.1

Riferimenti

Documenti correlati

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

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

pubblicazione sono specificati un codice identificativo (integer), il titolo (string), gli autori (string), la data di pubblicazione (date), la sede di pubblicazione (string), la

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

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: 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