Nome Cognome Matricola_______________________________
Reti di calcolatori
Prova scritta – 10 settembre 2014
Esercizio 1 [9 punti]
Si vuole realizzare un servizio Web per la raccolta delle donazioni di sangue effettuate presso una serie di centri di raccolta. Il servizio prevede le seguenti pagine:
1. Un form in cui si può scegliere il centro di raccolta da un menu a scelta singola, il gruppo sanguigno da un menù a scelta multipla e inserire la quantità di sacche (un numero) in un campo di testo. Il form permette di specificare un insieme di gruppi sanguigni per uno stesso centro di raccolta ad ogni invio. Le opzioni dei menù devono essere generate dinamicamente a partire da array. Si assuma un array che contiene la lista (“S. Maria”,
”Nottola”, ”Careggi”, ”Torregalli”) per i centri di raccolta e (“0+”, “0-”, “A”, “B”, “AB”) per i gruppi sanguigni.
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 un gruppo sanguigno raccolto in uno stesso centro si accumulano le quantità specificate in tutti gli invii fatti per quella data combinazione.
3. Una pagina di riepilogo che stampa una tabella con il totale di sacche raccolte per ogni opzione gruppo-centro. Si riporta/no poi per ogni centro il/i gruppo/i che ha/hanno il minimo delle sacche raccolte. Infine, si stampano il/i gruppo/i sanguigno/i che ha/hanno il totale di sacche (somma su tutti i centri di raccolta) 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
$v[0] = 0;
for($i=1;$i<3;$i++) $v[$i] = $i.$v[$i-1];
$y = $v[1]+$v[2];
$z = $y*0.5;
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 ai concerti organizzati da un’agenzia
musicale. Il file scambiato specifica la lista degli artisti. Per ciascun artista/gruppo sono specificati
un codice identificativo (integer), il nome (string), il genere musicale (string), la lista dei componenti
e la lista dei concerti previsti. Per ogni componente del gruppo si specifica il nome e il ruolo nel
gruppo. Per ogni concerto si specifica la data (date), l’ora (time), il luogo (string). 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
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 una lista (tag LI) questo viene selezionato e la selezione viene evidenziata mostrando un bordo rosso attorno all'elemento (alla prorietà di stile border si assegna il valore “1px dotted red”). Quando poi si clicka su un altro elemento della lista il suo contenuto HTML viene scambiato con quello selezionato. L'elemento viene poi deselezionato e il colore del suo bordo ritorna al valore iniziale (alla proprietà di stile border si assegna il valore “initial”).
Esercizio 6 [punti 5]
Spiegare perché è utile o necessario applicare un encoding per i caratteri/dati nell’invio dei messaggi di email, ad esempio quando si usano set di caratteri estesi. Come esempio illustrare gli encoding disponibili nello standard UNICODE.
Host 1 Host 2
Host 3 Host 4
Host 5 Host 6
Host 7 Host 8 Host 9
Host 10
Internet
R1
R3
R4 R2
10.60.0.0/14
serial 0 serial 0 serial 1 eth 0
eth 0 eth 0
eth 1
eth 1 eth 1
Host 11
172.16.5.38
137.34.208.1 10.60.6.2
198.76.13.192/26
10.60.6.1
172.16.5.36/30
137.34.208.0/20 10.60.6.4
172.16.5.37
198.76.13.0/26 198.76.13.193
198.76.13.128/26 198.76.13.129
137.34.48.0/20
137.34.48.1
198.76.13.1 eth 0 eth 2