testo - labinf - Politecnico di Torino
Transcript
testo - labinf - Politecnico di Torino
Programmazione in ambienti distribuiti (01FQTCX, 02HDFCX, 01FELCX) AA 2007-2008, Esercitazione di laboratorio n. 4 Introduzione Per scrivere file HTML occorre usare un normale editor di testo (es. Notepad, Blocco appunti, GVIM). Il file può avere indifferentemente estensione .HTM o .HTML. Se le pagine sono di tipo statico e sono scritte correttamente con link relativi, allora è possibile posizionarle in una qualunque cartella del filesystem e navigare direttamente aprendole con un qualunque browser oppure installarle su un server web vero (vedere istruzioni sulle slide PADlab). Se le pagine sono di tipo dinamico (server-side) allora è possibile visualizzarle solo se installate su un server web vero e proprio. Per tutti gli esercizi proposti, visualizzare sempre le pagine con almeno due browser diversi (es. IE e Firefox/Mozilla) e cambiando la risoluzione dello schermo (es. 800x600, 1280x1024) al fine di verificare la qualità grafica della soluzione realizzata. Per scrivere file javascript occorre usare un normale editor di testo (es. Notepad, Blocco appunti). Per codice javascript interno alle pagine html valgono le normali regole per l’estensione (indifferentemente ".htm" o ".html") mentre per codice javascript esterno l'estensione tipica del file in cui memorizzarlo è ".js". Per effettuare il debugging negli esercizi proposti, usare gli strumenti di Firefox (alcuni standard, alcuni aggiuntivi, installati come estensioni). Esempi: • per i form: tasto dx del mouse > View-Page Info > Forms e Web developer toolbar (da menù o tasto dx del mouse) > Forms > View forms information • Web developer toolbar > CSS > Edit CSS (per verificare al volo le modifiche sui fogli CSS • Web developer toolbar > Miscellaneous > Edit HTML (per verificare al volo le modifiche su HTML • DOM inspector (per verificare gli oggetti DOM ed i loro valori) e Javascript Debugger o Firebug se installati; in alternative usare Javascript console Esercizio 4.1 Sviluppare un insieme di pagine web personali, tra loro collegate mediante link: • una home page dello studente, coi suoi dati sintetici (nome, cognome, luogo e data di nascita) • una pagina che contenga un sintetico CV • una pagina che contiene nomi e voti degli esami superati Tutte le pagine devono contenere nella stessa posizione: • un menù che permetta di andare ad una qualunque delle tre (home, CV, voti) • un footer che identifichi l’autore e ne fornisca l’indirizzo mail Si faccia attenzione ad usare quanto più possibile una formattazione logica ed indipendente dalle dimensioni dello schermo su cui le pagine vengono visualizzate. Si consiglia di creare prima le singole pagine e verificarne la funzionalità di base; solo successivamente modificarle aggiungendo il menù comune. Si usino sempre (quando possibile) link relativi e si inserisca anche qualche link a pagine esterne pertinenti (es. al Politecnico di Torino, alla propria città di nascita). Esercizio 4.2 Si implementi almeno una delle pagine dell’esercizio precedente tramite un sistema di composizione di pagine HTML (ad esempio, Mozilla Composer oppure MS-Word salvando il risultato in HTML). Si confronti il codice HTML come quantità e qualità con quello generato a mano nell’esercizio 4.1. Esercizio 4.3 Si controlli la correttezza di tutte le pagine generate negli esercizi precedenti sfruttando il servizio di validazione del W3C http://validator.w3.org Si correggano eventuali errori e quando le pagine sono corrette si inserisca il logo di “HTML valido” seguendo le istruzioni della pagina citata. Esercizio 4.4 Modificare le pagine HTML sviluppate nell’esercizio 4.1 avendo cura di separare nettamente la suddivisione logica del documento dalle direttive di visualizzazione, in particolare usando un foglio di stile ed il pattern introdotto a lezione. Ridefinire colori e caratteri del testo visualizzato per i diversi elementi della pagina (link, intestazioni, testo di un paragrafo). Sottolineare opportunamente le diverse informazioni logiche presenti nella pagina html (es. differenti colori e/o caratteri per testo normale o testo associato ad un link, differenti colori e/o caratteri per un link visitato o un link non visitato). Applicare in sequenza tre fogli di stile CSS diversi, ciascuno memorizzato in un proprio file esterno. I CSS devono specificare almeno: • lo stile dei titoli (H1...H6) (si definisca un colore diverso per tutti i titoli e per H1 ridefinire la dimensione del font: 20% in più del normale) • lo stile del body (font, il colore dei font e la loro grandezza; usare font senza grazia, per le intestazioni delle tabelle usare lo stile italico) • specificare tre classi per il paragrafo (P), left, center e right per posizionare rispettivamente il testo a sinistra, al centro o a destra Nella pagina HTML si definiscano inoltre degli stili in modo che il colore dello sfondo e del testo di tutti i link reagiscano in modo dinamico al passaggio del mouse. Si controlli anche la correttezza della pagina HTML come indicato nell’esercizio 4.3 ed anche la correttezza dei fogli di stile CSS mediante il seguente servizio di validazione: http://jigsaw.w3.org/css-validator/ Si correggano eventuali errori e quando le pagine sono corrette si inseriscano i loghi di “HTML valido” e “CSS valido” seguendo le istruzioni della pagina citata. Esercizio 4.5 Creare una pagina web in grado di permettere l'inserimento di una stringa da parte dell’utente e quindi – quando viene premuto un apposito pulsante – visualizzare la stringa in una finestra di popup con tutti i caratteri minuscoli. Esercizio 4.6 Realizzare una pagina web con un menù a scelta multipla mutuamente esclusiva, in cui a ciascuna scelta sia associato un colore (rosso, verde, giallo, bianco, nero). Effettuando una delle scelte disponibili, il colore di sfondo della pagina deve immediatamente cambiare di conseguenza (es. diventare rosso). Esercizio 4.7 Creare una pagina web in grado di visualizzare la serie completa delle tabelline da uno a dieci, visualizzandone opportunamente il risultato in una tabella. Esercizio 4.8 Modificare l'esercizio precedente in modo da visualizzare la tabella pitagorica N x N, dove N è un numero introdotto dall’utente tramite una finestra di prompt (window.prompt( )) che appare al caricamento della pagina. Esercizio 4.9 Creare un form in grado di accettare due numeri naturali come input e visualizzare tramite una finestra di alert quale di questi valori sia il maggiore. Effettuare un appropriato controllo per verificare che i dati inseriti appartengano all’insieme dei numeri naturali. Esercizio 4.10 Creare un form in grado di accettare dieci numeri naturali come input e visualizzare tramite una finestra di alert quale di questi valori sia il maggiore. Effettuare un appropriato controllo per verificare che i dati inseriti appartengano alla categoria dei numeri naturali. Esercizio 4.11 Scrivere una pagina HTML che contenga un form con i campi della figura 4.1 alla quale siano applicati gli stili implementati nell’esercizio 4.4 con l’aggiunta di stili “inline” che definiscano: • colore dello sfondo del tasto submit • colore dello sfondo del menù a tendina • colore dello sfondo dei textfield (Figura 4.1) Si controlli la correttezza di tutte le pagine generate negli esercizi precedenti sfruttando i servizi di validazione del W3C come indicato precedentemente. Esercizio 4.12 Scrivere delle funzioni JavaScript che siano eseguite alla pressione del pulsante “Submit” del form dell’esercizio 4.5 per controllare che: • il campo Nome non sia vuoto e sia lungo almeno 3 caratteri ed al massimo 30 • il campo Cognome non sia vuoto e sia lungo almeno 3 caratteri ed al massimo 30 • se inserito nel campo l’anno di nascita sia compreso tra il 1900 e il 2003 • il mese di nascita sia compreso tra 1 e 12 • nel campo e-mail (se contiene dati) sia presente il carattere @ non come primo carattere ed almeno un . dopo di esso • se tra i radio button “Titolo di studio” è stato selezionato “Altro” allora il campo “Se altro, specificare” non sia vuoto Quando l’utente preme il apposito pulsante Submit, le informazioni introdotte devono essere visualizzate in una finestra di pop-up nel formato: • NOME:<nome introdotto> • COGNOME:<cognome introdotto> • DATA DI NASCITA:<data di nascita introdotta> • E-MAIL:<e-mail introdotta> • COLORE PREFERITO:<colore preferito introdotto> • TITOLO DI STUDIO:<titolo di studio introdotto> In caso di inserimento non conforme, deve comparire una finestra che segnali chiaramente l’errore occorso e le informazioni non devono essere visualizzate nella pagina di pop-up. Esercizio 4.13 Realizzare un form per l’inserimento delle quantità di tre diversi beni acquistabili: floppy-disk, CDR, DVD-R. Quando l’utente preme un apposito pulsante la pagina deve calcolare il costo totale dei beni. Il prezzo unitario relativo ai tre beni è rispettivamente: 0.5, 1.0 e 2.0 Euro. Il risultato deve essere visualizzato in una casella apposita (chiamata "totale") presente nel form medesimo. Prima del calcolo del totale è necessario verificare che i tre valori inseriti siano tutti numerici ed in caso contrario segnalare l'errore con un’opportuna finestra di pop-up. La pagina deve anche contenere un pulsante che permetta di cancellare in un colpo solo tutti i valori introdotti. Esercizio 4.14 Realizzare una pagina web simile a quella dell’esercizio 4.13 ma in cui il totale sia inizializzato a zero e quindi aggiornato automaticamente ogni volta che viene introdotta una quantità corretta.