Sessione straordinaria di Novembre 2015/16

Transcript

Sessione straordinaria di Novembre 2015/16
Nome Cognome Matricola_______________________________
Reti di calcolatori
Prova scritta – 3 novembre 2016
Esercizio 1 [9 punti]
Si vuole realizzare un servizio Web per il monitoraggio del peso dei bagagli imbarcarti in un
aeroporto. Il servizio prevede le seguenti pagine:
1. Un form in cui si possono scegliere una o più compagnie aeree da un menu a scelta
multipla, la fascia oraria del check-in da un menu a scelta singola e inserire il peso del
bagaglio, in un campo di testo. Ad ogni invio, il form permette di specificare un insieme di
compagnie aeree per la stessa fascia oraria se il volo è operato da più compagnie (es.
prevede più tratte). Le opzioni dei menù devono essere generate dinamicamente a partire
da array. Si assuma un array che contiene la lista (“UA”, ”EK”, ”AZ”, ”AF”) per le compagnie
aeree e (“06:00”, “010:00”, “14:00”, “20:00”) 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 compagnia aerea e fascia oraria si deve
memorizzare il totale del peso dei bagagli inseriti e il numero di inserimenti.
3. 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 valore
memorizzato per quella combinazione. Poi, per ogni compagnia aerea si riportano le fasce
orarie che hanno la media di peso del bagaglio 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
for($i=1;$i<4;$i++)
$m[“0.$i”] = $i;
foreach($m as $k=>$v) {
$x += $k;
$y += $v;
}
$z = $y/2+$x;
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 a test di accesso a corsi universitari. Il
file scambiato specifica la lista dei test. Ciascun test è identificato da un codice numerico (integer)
ed ha associate la data in cui è stato erogato (date), il numero di corsi che lo ha utilizzato
(integer), la lista delle domande e la lista dei risultati. Per ogni domanda si specifica il numero
(integer), l’argomento (string, es. “matematica”, “logica”,..), il testo (string) e le quattro risposte
previste (string, prevedere 4 elelenti distinti). Per ogni risultato si riporta il codice del partecipante
(string) e il punteggio totale (decimal). Si proponga la struttura XML necessaria, mostrando un
esempio, e si scriva il file XML schema associato.
Esercizio 4 [punti 4]
Dato il seguente schema di rete
Host 3
Host 4
Internet
33.184.0.0/13
33.184.0.1
serial 0
eth 0
172.29.96.1
R1
eth 1
serial 0 192.168.1.45
Host 2
192.168.1.44/30
serial 0 192.168.1.46
Host 1
eth 1
R4
200.3.33.129 eth 0
R2
eth 1
200.3.33.65
eth 0
200.3.33.64/26
Host 9
172.29.96.3
eth 1
33.120.0.1
200.3.33.128/26
172.29.96.2
Host 6
Host 5
R3
eth 0 33.72.0.1
33.72.0.0/13
33.120.0.0/13 172.29.96.0/20
Host 10
Host 11
Host 7
Host 8
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: selezionando da un menu a tendina predefinito (con id con valore “selclass”) il nome di
una classe (evento onchange), tutti gli elementi di quella classe e di tipo “P” o “TABLE” (il tag è
disponibile come attributo tagName di un elemento) diventano invisibili (la proprietà di stile visibility
viene impostata a “hidden”). Quando si seleziona una nuova voce gli elementi resi invisibili in
precedenza ritornano visibili (visibility viene impostata a “visible”).
Esercizio 6 [punti 5]
Spiegare in che modo i socket TCP rendono possibile la comunicazione simultanea fra endpoint su
due stessi dispositivi.