• Non ci sono risultati.

Reti di calcolatoriProva scritta – 17 luglio 2017

N/A
N/A
Protected

Academic year: 2021

Condividi "Reti di calcolatoriProva scritta – 17 luglio 2017"

Copied!
4
0
0

Testo completo

(1)

Nome Cognome Matricola_______________________________

Reti di calcolatori

Prova scritta – 17 luglio 2017

Esercizio 1 [9 punti]

Si vuole realizzare un servizio Web per il monitoraggio del tempo di degenza nei reparti di un ospedale. Il servizio prevede le seguenti pagine:

1. Un form in cui si possono scegliere uno o più reparti da un menu a scelta multipla, il motivo della degenza da un menu a scelta singola e inserire la durata della degenza in giorni e frazioni di giorno in un campo di testo. Il form permette di specificare un insieme di motivi di degenza per uno stesso reparto ad ogni invio, se la durata è la stessa. Le opzioni dei menù devono essere generate dinamicamente a partire da array. Si assuma un array che contiene la lista (“Ortopedia”, ”Chirurgia”, ”Cardiologia”, ”Pediatria”) per i reparti e (“Intervento”, “Infezione”, “Osservazione”, “Terapia”) per i motivi di degenza.

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 reparto e motivo si devono memorizzare il minimo e il massimo fra i valori inseriti. La memorizzazione si effettua solo se il valore specificato non è inferiore ad un giorno.

3. Una pagina di riepilogo che stampa una tabella con la coppia durata minima-massima per ogni opzione reparto-motiva per cui sono stati memorizzati dati o il carattere “-” altrimenti.

Si riportano, per ogni reparto, i motivi che hanno il maggiore rapporto fra durata massima e minima (minimo/massimo).

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($j=1;$j<4;$j++) $a[“$j$j”] = “0.”.$j;

foreach($a as $k=>$n) $b += $n.$k;

$c = ‘$b=’.$b;

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

Esercizio 3 [punti 5]

Si vuole definire un formato per l’interscambio dati relativo alla gestione dei dati relativi a un sito di

condivisione di video. Il file scambiato specifica la lista dei video. Ciascun video è identificato da

un codice (integer) ed ha associato un titolo (string), la durata in secondi (integer), l’autore (string),

la lista dei like e la lista dei commenti. Per like si specifica l’istante di inserimento (dateTime),

l’utente (string) e il tipo (string, es. “wow”). Ogni commento è caratterizzato dal momento di

pubblicazione (dateTime), dall’utente (string) e dal testo (string). 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: quando si clicka su una cella di una tabella (elemento <td>) questa viene selezionata e si colora di rosso il suo bordo (proprietà di stile borderColor). Se si clicka su una cella diversa da quella selezionata, prima di selezionarla si deseleziona quella precedente ripristando il colore del bordo al valore originario (deve essere memorizzato). Se si clicka sulla cella già selezionata questa viene deselezionata ripristinando il colore del bordo e nessuna cella dovrà risultare selezionata. Quando si entra in un paragrafo (elemento <p>, evento onmouseover) il colore del suo sfondo (proprietà di stile backgroundColor) assume quello della cella selezionata (se non c’è una cella selezionata non accade nulla). Quando si esce dal paragrafo (evento onmouseout) il colore del suo sfondo viene ripristinato al valore precedente (deve essere memorizzato).

Esercizio 6 [punti 5]

Illustrare le principali tecniche usate nell’implementazione di un servizio di trasporto di tipo stream per garantire l’affidabilità del trasferimento dati.

--- Recupero prima prova --- Svolgere

 Esercizio 1 (PHP) [14 punti]

 Esercizio 2 (PHP) [4 punti]

Rispondere alle seguenti domande

1. Descrivere i livelli previsti nella gerarchia del sistema DNS. [6 punti]

2. Illustrare la funzione delle principali intestazioni della risposta HTTP [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.21.80.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.8.69

211.1.11.129

172.21.80.1

211.1.11.64/26

211.1.11.65

192.168.8.68/30

211.1.11.128/26

172.21.80.3 172.21.80.2

192.168.8.70

17.104.0.0/13 17.104.0.1

17.152.0.0/13 17.152.0.1

17.56.0.0/13

17.56.0.1

(3)

Nome Cognome Matricola_______________________________

Reti di calcolatori

Prova scritta – 17 luglio 2017

Esercizio 1 [9 punti]

Si vuole realizzare un servizio Web per la raccolta dei relativi alle caratteristiche dei video condivisi in un sito di video sharing. Il servizio prevede le seguenti pagine:

1. Un form in cui si possono scegliere una o più categorie da un menu a scelta multipla, la lingua da un menu a scelta singola e la durata in minuti e frazione di minuti in un campo di testo. Il form permette di specificare più categorie per una stessa lingua ad ogni invio, se il video appartiene a più di una categoria. Le opzioni dei menù devono essere generate dinamicamente a partire da array. Si assuma un array che contiene la lista (“Sport”,

”Musica”, ”Giochi”, ”Trailer”) per le categorie e (“italiano”, “inglese”, “francese”, “spagnolo”) per le lingue.

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 categoria e lingua si devono memorizzare il numero di video (inserimenti) e il totale delle durate. La memorizzazione si effettua solo se la durata è superiore a un decimo di minuto.

3. Una pagina di riepilogo che stampa una tabella con la media della durata per ogni opzione categoria-lingua o il carattere “-” se non ci sono valori memorizzati. Si riportano, per ogni lingua, le categorie che hanno la durata 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 for($i=3;$i>=1;$i--) $z[“$i$i”] = 0.5+$i;

foreach($z as $k=>$n) $y += $n.$k;

$o = ‘$y=’.$y;

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

Esercizio 3 [punti 5]

Si vuole definire un formato per l’interscambio dati relativo alla gestione delle riunioni di un

progetto. Il file scambiato specifica la lista delle riunioni. Ciascuna riunione è identificata da un

codice numerico (integer) ed ha associata la data (date), l’ora (time), il luogo (string) e la lista dei

partecipanti. Per ogni partecipante si specificano il nome (string), la durata dell’intervento

(decimal), l’azienda rappresentata (string) e la lista dei documenti forniti. Ogni documento è

caratterizzato dal titolo (string), dal tipo (string, es. “ppt) e dal nome del file (string). 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 1 (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 <td> questo viene selezionato e si colora di giallo il suo sfondo (proprietà di stile backgroundColor). Clickando su un elemento <td> diverso da quello selezionato, prima di selezionarlo si deseleziona quello precedente ripristando il colore dello sfondo al valore originario (deve essere memorizzato). Se si clicka sull’elemento già selezionato questo viene deselezionato ripristinando il colore dello sfondo e nessun elemento dovrà risultare selezionato.

Quando si entra in un elemento <div> (evento onmouseover) la dimensione del suo carattere (proprietà di stile fontSize) assume quella dell’elemento <td> selezionato (se non c’è un elemento selezionato non accade nulla). Quando si esce dall’elemento <div> (evento onmouseout) la dimensione del suo carattere viene ripristinata al valore precedente (deve essere memorizzato).

Esercizio 6 [punti 5]

Spiegare cosa sono i cookie e che tipo di impiego possono avere.

--- Recupero prima prova --- Svolgere

 Esercizio 1 (PHP) [14 punti]

 Esercizio 2 (PHP) [4 punti]

 Esercizio 6 (domanda) [6 punti]

Rispondere alla seguente domanda

 Spiegare cosa è la codifica UTF-8 e motivare perché è la soluzione di riferimento sul Web. [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 cosa è una rete privata e in che modo gli host presenti in essa possono accedere alla rete Internet pubblica [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.98.0.0/15 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.101

199.9.22.97

10.98.0.1

199.9.22.160/27

199.9.22.161

192.168.1.100/30

199.9.22.96/27

10.98.0.3

10.98.0.2

192.168.1.102

157.55.88.0/21 157.55.88.1

157.55.72.0/21 157.55.72.1

157.55.208.0/21

157.55.208.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

Per ogni servizio si specifica il nome identificativo del processo server (string), la porta (integer), il tipo di protocollo (string, “http”) e la lista degli

Una pagina di raccolta dei dati che, per ogni fascia oraria e tratto di rilevazione, memorizza sul server il valore massimo e minimo delle velocità medie inserite col form di cui