• Non ci sono risultati.

Reti di calcolatoriProva scritta – 25 luglio 2016

N/A
N/A
Protected

Academic year: 2021

Condividi "Reti di calcolatoriProva scritta – 25 luglio 2016"

Copied!
8
0
0

Testo completo

(1)

Prova scritta – 25 luglio 2016

Esercizio 1 [9 punti]

Si vuole realizzare un servizio Web per il monitoraggio del funzionamento di un insieme di macchine dosatrici. Il servizio prevede le seguenti pagine:

1. Un form in cui si possono scegliere la macchina dosatrice da un menu a scelta singola, uno o più tipi di tarature da un menu a scelta multipla e inserire il peso misurato della dose in un campo di testo. Il form permette di specificare un insieme di configurazioni di taratura per una stessa macchina dosatrice ad ogni invio, se il peso misurato è lo stesso. Le opzioni dei menù devono essere generate dinamicamente a partire da array. Si assuma un array che contiene la lista (“S1”, ”S2”, ”S3”, ”S4”) per le configurazioni di taratura e (“D001”, “D002”,

“D003”, “D004”) per le macchine dosatrici.

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 dosatrice e taratura si devono memorizzare il minimo e il massimo fra i valori inseriti.

3. Una pagina di riepilogo che stampa una tabella con la coppia peso minimo-massimo per ogni opzione dosatrice-taratura per cui sono stati memorizzati dati o il carattere “-”

altrimenti. Si riportano per ogni dosatrice le tarature che hanno la maggiore differenza relativa fra peso massimo e minimo (1-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($i=1;$i<4;$i++) $v[“1.$i”] = $i*2;

foreach($v as $k=>$n) $s += $k.$n;

$z = $s*100;

indicare quali sono le variabili definite nell’interprete dopo l’esecuzione del codice, con il loro tipo e valore (escluse le variabili usate come indice nei cicli).

Esercizio 3 [punti 5]

Si vuole definire un formato per l’interscambio dati relativo alla gestione di una catena di ristoranti.

Il file scambiato specifica la lista dei ristoranti. Ciascun ristorante è identificato da un codice

(integer) ed ha associato l’indirizzo (string), il numero dei posti (integer), il nome del responsabile

(string), la lista dei piatti disponibili nel menu e la lista delle prenotazioni. Per ogni piatto del menu

si specifica il nome (string), il tipo (string, es. “antipasto”) e il costo (decimal). Ogni prenotazione è

caratterizzata dalla data (date), dall’ora (time), dal nome del cliente (string), dal numero di posti

prenotati (integer) e dal numero del tavolo assegnato (integer). Si proponga la struttura XML

necessaria, mostrando un esempio, e si scriva il file XML schema associato.

(2)

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: quando si clicka su una cella di una tabella (elemento <td>) se il colore del suo sfondo (proprietà di stile backgroundColor) è giallo (“yellow”) il colore del testo (proprietà di stile color) viene assegnato in base al valore selezionato in un menu a tendina con id “color”; se la dimensione del font è 12 (proprietà di stile fontSize) il tipo di font (proprietà di stile fontFamily) viene assegnato in base la valore selezionato in un menu a tendina con id “font” . Quando si clicka su un nuovo elemento <td>, le proprietà di quello precedente vengono ripristinate ai valori originari (devono essere memorizzati).

Esercizio 6 [punti 5]

Illustrare che tipo di richieste sono necessarie al sistema operativo per inizializzare un server che usa uno dei servizi di trasporto disponibili, indicando alcune cause che possono generare un errore.

--- Recupero prima prova --- Svolgere

 Esercizio 1 (PHP) [14 punti]

 Esercizio 2 (PHP) [4 punti]

Rispondere alle seguenti domande

1. Spiegare il ruolo di ciascun livello nell’architettura del servizio DNS. [6 punti]

2. Illustrare la soluzione usata per gestire l’upload di file con 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 7 Host 8 Host 9

Host 10

R4

R2

R3 R1

172.18.112.0/20 serial 0

serial 0

eth 0

eth 0

eth 0 eth 1

eth 1 eth 1

Host 11

eth 1 192.168.1.81

203.7.77.97

172.18.112.1

203.7.77.32/27

203.7.77.33

192.168.1.80/30

203.7.77.96/27

172.18.112.3 172.18.112.2

192.168.1.82

23.40.0.0/13 23.40.0.1

23.168.0.0/13

23.168.0.1

(3)

Prova scritta – 25 luglio 2016

Esercizio 1 [9 punti]

Si vuole realizzare un servizio Web per la raccolta dei dati di traffico in un tratto autostradale. Il servizio prevede le seguenti pagine:

1. Un form in cui si possono scegliere uno o più giorni della settimana da un menu a scelta multipla, la fascia oraria da un menu a scelta singola e il numero di veicoli transitati in un campo di testo. Il form permette di specificare più giorni della settimana per una stessa fascia oraria ad ogni invio, se il numero di veicoli è lo stesso. Le opzioni dei menù devono essere generate dinamicamente a partire da array. Si assuma un array che contiene la lista (“Lunedì”, ”Mercoledì”, ”Sabato”, ”Domenica”) per i giorni della settimana e (“0-6”, “6-12”,

“12-18”, “18-24”) 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 giorno della settimana e fascia oraria si devono memorizzare il numero di rilevazioni (inserimenti) e il totale dei veicoli transitati.

3. Una pagina di riepilogo che stampa una tabella con la media del numero di veicoli per ogni opzione giorno-orario o il carattere “-” se non ci sono valori memorizzati. Si riportano per ogni fascia oraria i giorni della settimana che hanno il numero medio di veicoli 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($k=0;$k>-3;$k--) $w[“{$k}1”] = -$k+0.5;

foreach($w as $c=>$n) $x += $c.$n;

$y = $x*10;

indicare quali sono le variabili definite nell’interprete dopo l’esecuzione del codice, con il loro tipo e valore (escluse le variabili usate come indice nei cicli).

Esercizio 3 [punti 5]

Si vuole definire un formato per l’interscambio dati relativo alla gestione di un’agenzia immobiliare.

Il file scambiato specifica la lista degli immobili. Ciascun immobile è identificato da un codice numerico (integer) ed ha associato l’indirizzo (string), il tipo di offerta (string, es “vendita”), il costo (decimal), la lista delle stanze e la lista delle visite effettuate con i clienti. Per ogni stanza si specificano il tipo (string, es. “cucina”), la dimensione in m

2

(decimal) e una descrizione (string, es.

“buono stato”). Ogni visita prevede la data in cui è stata effettuata (date), il nome del cliente

(string), il codice dell’agente presente (integer) e un commento (string, es. “prenotata”). Si

proponga la struttura XML necessaria, mostrando un esempio, e si scriva il file XML schema

associato.

(4)

scegliere la configurazione di rete dell’host 11 (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: quando si passa sopra una riga di una tabella (elemento <tr>, evento onmouseover) se il colore del testo (proprietà di stile color) è rosso (“red”) il colore dello sfondo (proprietà di stile backgroundColor) viene assegnato in base al valore selezionato in un menu a tendina con id

“background”; se il tipo del font è “helvetica” (proprietà di stile fontFamily) la dimensione del font (proprietà di stile fontSize) viene assegnata in base al valore selezionato in un menu a tendina con id “size” . Quando si entra in un nuovo elemento <tr>, le proprietà di quello precedente vengono ripristinate ai valori originari (devono essere memorizzati).

Esercizio 6 [punti 5]

Descrivere le codifiche dei caratteri previste dallo standard UNICODE, spiegando perché la più usata è la UTF-8.

--- 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 codifiche possibili per inviare i dati con un form HTML. [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

 Motivare l’importanza della programmazione client-side nelle attuali applicazioni Web [punti 8]

Host 1 Host 2

Host 7 Host 8 Host 9

Host 10

R4

R2

R3 R1

10.104.0.0/13 serial 0

serial 0

eth 0

eth 0

eth 0 eth 1

eth 1 eth 1

Host 11

eth 1 192.168.2.29

195.6.66.193

10.104.0.1

195.6.66.64/26

195.6.66.65

192.168.2.28/30

195.6.66.192/26

10.104.0.3

10.104.0.2

192.168.2.30

163.44.64.0/19 163.44.64.1

163.44.128.0/19

163.44.128.1

(5)

Prova scritta – 25 luglio 2016

Esercizio 1 [9 punti]

Si vuole realizzare un servizio Web per il monitoraggio dei tempi di percorrenza dei percorsi di trekking di un parco. Il servizio prevede le seguenti pagine:

1. Un form in cui si possono scegliere il percorso di trekking da un menu a scelta singola, una o più fasce di età del/dei partecipanti da un menu a scelta multipla e inserire il tempo in ore e frazioni di ora (un numero decimale) in un campo di testo. Il form permette di specificare un insieme di fasce di età per uno stesso percorso ad ogni invio, se il tempo di percorrenza è lo stesso per i partecipanti di diverse fasce di età. Le opzioni dei menù devono essere generate dinamicamente a partire da array. Si assuma un array che contiene la lista (“Poggio”, ”Valle”, ”Fiume”, ”Bosco”) per i percorsi e (“8-15”, “16-30”, “30-60”, “60-80”) per le fasce di età.

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 percorso e fascia di età si devono memorizzare il minimo e il massimo fra i tempi specificati in tutti gli inserimenti.

3. Una pagina di riepilogo che stampa una tabella con la coppia tempo minimo-massimo per ogni opzione percorso-età per cui sono state memorizzati i tempi o il carattere “-” altrimenti.

Si riportano poi per ogni fascia di età i percorsi che hanno il minimo rapporto fra tempo minimo e 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=4;$j>0;$j--) $x[“$j.1”] = $j-1;

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

$b = $a*10;

indicare quali sono le variabili definite nell’interprete dopo l’esecuzione del codice, con il loro tipo e valore (escluse le variabili usate come indice nei cicli).

Esercizio 3 [punti 5]

Si vuole definire un formato per l’interscambio dati relativo alla gestione delle escursioni nei

percorsi di un insieme di parchi. Il file scambiato specifica la lista dei parchi. Ciascun parco è

identificato da un codice numerico (integer) ed ha associata la località in cui si trova (string), la

dimensione in Km

2

(decimal) e la lista dei percorsi di trekking presenti nel parco. Per ogni percorso

si specifica il nome (string), il grado di difficoltà con un numero (integer), la lunghezza in Km

(decimal) e la lista dei partecipanti alle escursioni. Per ogni partecipante si memorizza il codice

fiscale (string), l’età (integer), la data dell’escursione (date) e il tempo impiegato in ore e frazione di

ora (decimal). Si proponga la struttura XML necessaria, mostrando un esempio, e si scriva il file

XML schema associato.

(6)

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>) se il colore del suo sfondo (proprietà di stile backgroundColor) è giallo (“yellow”) il colore del testo (proprietà di stile color) viene assegnato in base al valore selezionato in un menu a tendina con id “color”; se la dimensione del font è 12 (proprietà di stile fontSize) il tipo di font (proprietà di stile fontFamily) viene assegnato in base al valore selezionato in un menu a tendina con id “font” . Quando si clicka su un nuovo elemento <td>, le proprietà di quello precedente vengono ripristinate ai valori originari (devono essere memorizzati).

Esercizio 6 [punti 5]

Illustrare la procedura per l’inizializzazione di un server socket di tipo TCP, indicando alcuni casi che la possono far fallire.

--- Recupero prima prova --- Svolgere

 Esercizio 1 (PHP) [14 punti]

 Esercizio 2 (PHP) [4 punti]

Rispondere alle seguenti domande

3. Illustrare il ruolo dei server ai primi tre livelli previsti dal sistema DNS. [6 punti]

4. Descrivere la struttura dei messaggi email spiegando la soluzione adottata per poter gestire allegati. [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 7 Host 8 Host 9

Host 10

R4

R2

R3 R1

172.22.80.0/20 serial 0

serial 0

eth 0

eth 0

eth 0 eth 1

eth 1 eth 1

Host 11

eth 1 192.168.9.77

207.9.99.65

172.22.80.1

207.9.99.96/27

207.9.99.97

192.168.9.76/30

207.9.99.64/27

172.22.80.3

172.22.80.2

192.168.9.78

41.72.0.0/13 41.72.0.1

41.8.0.0/13

41.8.0.1

(7)

Prova scritta – 25 luglio 2016

Esercizio 1 [9 punti]

Si vuole realizzare un servizio Web per il monitoraggio dei tempi fra le eruzioni dei geyser di un parco. Il servizio prevede le seguenti pagine:

1. Un form in cui si possono scegliere il geyser da un menu a scelta singola, una o più fasce orarie da un menu a scelta multipla e il tempo in secondi fra due eruzioni in un campo di testo. Il form permette di specificare più fasce orarie per uno stesso geyser ad ogni invio, se il tempo fra due eruzioni è lo stesso nelle due fasce orarie. Le opzioni dei menù devono essere generate dinamicamente a partire da array. Si assuma un array che contiene la lista (“Old Faithful”, ”Riverside”, ”Castle”, ”Beehive”) per i geyser e (“0-6”, “6-12”, “12-18”, “18- 24”) 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 geyser e fascia oraria si devono memorizzare il numero di misure (inserimenti) e il totale dei tempi inseriti.

3. Una pagina di riepilogo che stampa una tabella con la media dei tempi fra due eruzioni per ogni opzione geyser-fascia oraria o il carattere “-” se non ci sono valori memorizzati. Si riportano per ogni geyser le fasce orarie che hanno il maggiore numero di eruzioni inserite.

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($q=-3;$q<0;$q++) $t[“$q.1”] = 1-$q;

foreach($t as $k=>$n) $s += $k.$n;

$r = $s*100;

indicare quali sono le variabili definite nell’interprete dopo l’esecuzione del codice, con il loro tipo e valore (escluse le variabili usate come indice nei cicli).

Esercizio 3 [punti 5]

Si vuole definire un formato per l’interscambio dati relativo alla gestione di una catena di alberghi.

Il file scambiato specifica la lista degli alberghi. Ciascun albergo è identificato da un codice

numerico (integer) ed ha associato il luogo in cui si trova (string), il numero di camere di cui

dispone (integer), una lista delle camere e una lista delle prenotazioni. Per ogni camera si

specificano il numero (integer), la tipologia (es. “singola”, string), la disponibilità di servizi (string,

es. “minibar”) e la collacazione (string, es: “panoramica”). Ogni prenotazione prevede il numero

della camera (integer), la data di arrivo (date), la data di partenza (date) e il numero di persone

(integer). Si proponga la struttura XML necessaria, mostrando un esempio, e si scriva il file XML

schema associato.

(8)

scegliere la configurazione di rete dell’host 2 (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: quando si passa sopra una riga di una tabella (elemento <tr>, evento onmouseover) se il colore del testo (proprietà di stile color) è rosso (“red”) il colore dello sfondo (proprietà di stile backgroundColor) viene assegnato in base al valore selezionato in un menu a tendina con id

“background”; se il tipo del font è “helvetica” (proprietà di stile fontFamily) la dimensione del font (proprietà di stile fontSize) viene assegnata in base al valore selezionato in un menu a tendina con id “size” . Quando si entra in un nuovo elemento <tr>, le proprietà di quello precedente vengono ripristinate ai valori originari (devono essere memorizzati).

Esercizio 6 [punti 5]

Spiegare le differenze fra le codifiche UTF-8, UTF-16 e UTF-32 motivando l’uso di ciascuna di esse.

--- Recupero prima prova --- Svolgere

 Esercizio 1 (PHP) [14 punti]

 Esercizio 2 (PHP) [4 punti]

 Esercizio 6 (domanda) [6 punti]

Rispondere alla seguente domanda

 Motivare perché sono stati definiti due diversi metodi per l’invio dei dati di un form HTML. [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 in cosa consiste la validazione di un documento XML [punti 8]

Host 1 Host 2

Host 7 Host 8 Host 9

Host 10

R4

R2

R3 R1

10.24.0.0/13 serial 0

serial 0

eth 0

eth 0

eth 0 eth 1

eth 1 eth 1

Host 11

eth 1 192.168.2.17

196.6.66.129

10.24.0.1

196.6.66.192/26

196.6.66.193

192.168.2.16/30

196.6.66.128/26

10.24.0.3

10.24.0.2

192.168.2.18

133.55.96.0/19 133.55.96.1

133.55.192.0/19

133.55.192.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; 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: 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: 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