OBIETTIVI DELLA LEZIONE
In questa lezione:
- (ri)vedremo come costruire delle semplici pagine HTML
- impareremo come aggiungere delle tabelle
<HTML> <HEAD> <TITLE>La mia prima pagina web!</TITLE> </HEAD> <BODY> </BODY> </HTML>
<HTML> <HEAD> <TITLE>La mia prima pagina web!</TITLE> </HEAD> <BODY> Fantastico !! La mia prima pagina. </BODY> </HTML>ed ecco la seconda pagina html
... <BODY> <b>Fantastico</b> !! La <i>mia</i> prima <u>pagina</u>. </BODY> ...Quello che stiamo dicendo al browser è di visualizzare in grassetto dal punto in cui mettiamo il tag <b> fino al punto in cui inseriamo </b>.
corsivo: ~abcdef~ sottilineato: _abcdef_ neretto: **abcdef**
<tag nome_opzione="valore_opzione"> contenuto </tag>
Ad esempio cambiamo il colore delle sfondo
...
<body bgcolor="FFFF00">
<b>Fantastico</b> !!
La <i>mia</i> prima <u>pagina</u>.
</body>
...
...
<body background="image001.jpg">
<b>Fantastico</b> !!
La <i>mia</i> prima <u>pagina</u>.
</BODY>
...
... <body> <b>fantastico</b> !! la mia prima <font size=6>pagina</font>. <br /> Qualcosa di <font face="arial">divertente</font>. </body> ...
1 | piccolissimo |
2 | piccolo |
3 | normale |
4 | medio |
5 | largo |
6 | grande |
7 | grandissimo |
... <body bgcolor="#ffffff"> qualcosa di <u><i><b><font color="#ff0000" face="arial" size="7">divertente</font></b></i></u> </body> ...
<tag3><tag2><tag1>ciao a tutti!</tag1></tag2></tag3>non importa quale sia il primo tag. se vuoi scrivere qualcosa in rosso e grassetto devi decidere quale indicare per primo, ma puoi metterli in qualsiasi ordine. ad esempio..
<tag2><tag1><tag3>ciao a tutti!</tag3></tag1></tag2>il modo più veloce di confondere un browser è quello di sovrapporre i tags... (SBAGLIATO!)
<tag3><tag2><tag1>ciao a tutti!</tag3></tag1></tag2>
il testo è nero |
i links sono blu |
i links attivi sono rossi |
i links visitati sono viola |
... <body bgcolor="#00000" text="#ffff00" link="#ff0000" vlink="#800000" alink="#008000"> ... </body> ...
... <body> Ehi! Ma che sta succedendo?? </body> ...
... <body> Ehi! <br /> Ma <br /> che <br /> sta <br /> succedendo?? </body> ...
... <body> <p>Ehi! </p> <p>Ma </p> <p>che </p> <p>sta </p> <p>succedendo?? </p> </body> ...
... <body> Una pagina qualunque </body> ...
... <body> Una pagina qualunque </body> ...
carattere speciale | &#?; | (dove ? è il codice iso 8859-1) | |
< | < | ||
> | > | ||
& | & | ||
" | " | ||
copyright | © | ||
spazio | | ||
trattino | ­ |
... <body> Ecco un immagine: <img src="./immagini/cow.jpg"/> <br /> La stessa dimezzata: <img src="./immagini/cow.jpg" width="51" height="75" /> </body> ...
... <body> <img src="./img/punto_blu.gif" width="500" height="10" /> </body> ...
... <body> <img src="punto_blu.gif" width="20" height="100" /> </body> ...
... <body> <img src="punto_blu.gif" width="200" height="200" /> </body> ...
...
<body>
Ecco una pagina con un link alla home page del motore di
ricerca <a href="http://www.google.it">Google</a>.
</body>
...
... <body> Esempio di indentazione: <br /> Che cosa è una "netiquette"? <blockquote> "Fra gli utenti dei servizi telematici di rete, prima fra tutte la rete internet, ed in particolare fra i lettori dei servizi di "news" usenet, si sono sviluppati nel corso del tempo una serie di "tradizioni" e di "principi di buon comportamento" (galateo) che vanno collettivamente sotto il nome di "netiquette", e a cui tutti sono tenuti ad adeguarsi." </blockquote> Talvolta è necessario visualizzare il testo esattamente come è formattato (uno spazio rimane uno spazio): <pre> \|/ (@ @) +----oOO----(_)-----------+ | BARRY GOLDWATER | | for | | President | +-----------------oOO-----+ |__|__| || || ooO Ooo </pre> Attenzione però che i caratteri speciali vengono comunque interpretati! </body> ...Notate che il font utilizzato dal browser è a spaziatura fissa.
... <body> Una lista <b>non ordinata</b> ("unordered list"):<br /> Cosa desidero per Natale: <ul> <li> un grosso camion rosso </li> <li> una velocissima barca a vela </li> <li> una batteria </li> <li> una pistola a spruzzo </li> </ul> Una lista <b>ordinata</b> ("ordered list"): <br /> Cosa desidero per Natale: <ol> <li> un grosso camion rosso </li> <li> una velocissima barca a vela </li> <li> una batteria </li> <li> una pistola a spruzzo </li> </ol> </body> ...
... <!-- Questo è un commento --> ...
...
<body>
Inserisco una tabella
<table border=1>
<tr>
<td>Ed</td>
</tr>
</table>
</body>
...
... <body> Inserisco una tabella <table border=1 width=75%> <tr> <td>Ed</td> <td>Tom</td> </tr> <tr> <td>Rich</td> <td>Neil</td> </tr> </table> </body> ...
... <body> Inserisco una tabella <table border="1" width="300" height="150"> <tr> <td align="left">Ed</td> <td align="right">Tom</td> </tr> <tr> <td valign="top">Rich</td> <td align="center" valign="bottom">Neil</td> </tr> </table> </body> ...
... <body> Inserisco una tabella <table border="3" cellpadding="10"> <tr bgcolor="#FF9999"> <td>Ed</td> <td>Tom</td> </tr> <tr> <td bgcolor="#99CCCC">Rich</td> <td >Neil</td> </tr> </table> </body> ...
<html> <head> <title>la mia prima pagina web!</title> </head> <body> Inserisco una tabella <table border="3" cellpadding="5"> <tr > <td rowspan="2">Ed</td> <td>Tom</td> <td>Rich</td> </tr> <tr> <td colspan="2" align="center">Neil</td> </tr> </table> </body> </html>
<html> <head> <title>Allevamento in Italia</title> </head> <body> <table border="0" width="100%" cellpadding="10"> <tr> <td width="40%" align="right"> <img src="./immagini/cow.jpg" width="101" height="149"> </td> <td width="60%" valign="top"> In Italia ci sono: <ul> <li> 7,1 milioni di unità di bovini </li> <li> 8 milioni di unità di suini </li> <li> 8 milioni di unità di ovini </li> <li> 1 milione di unità di caprini </li> <li> 600 milioni di unità di polli </li> </ul> </td> </tr> </table> </body> </html>
Siti di riferimento interessanti sono as esempio:
In Italiano:
In Inglese:
Esercizio 1:
Con Notepad, o un qualunque editor di testo, creare una semplice pagina personale che contenga almeno una vostra foto (se l'avete a portata di mano, altrimenti una immagine qualsiasi), il vostro nome e cognome e la vostra matricola. La pagina deve avere un titolo a vostra scelta. Disponete i vari elementi utilizzando sfondo e colori che più preferite.
Esercizio 2:
- creare una cartella sul desktop con nome "EsercizioHTML2"
- copiare (non spostare) 6 esercizi in C che avevate svolto nelle scorse lezioni.
- Create una pagina HTML con titolo "EsercizioHTML2 di VostroCognome" (deve vedersi nella barra in alto della finestra del browser NON nella pagina html visualizzata).
Scrivere il testo: ULTIMI 6 ESERCIZI SVOLTI IN LABORATORIO e sotto fare una tabella del tipo:----------------------- | ultimi 6 esercizi | | di nome cognome | | matricola | ----------------------- | ex1 | ex2 | ----------------------- | ex3 | ex4 | ----------------------- | ex5 | ex6 | -----------------------dove ex? è il nome di un file. Ciascun nome deve essere un link (funzionante) all'esercizio corrispondente.
Vi invito a spedirmi i programmi "tabelline.c" e "converti.c"
(prossimi due esercizi) per posta elettronica
entro il 19 Aprile all'indirizzo sassi@dti.unimi.it
in modo che possa
correggerli e indicarvi eventuali errori (per posta elettronica o durante
il ricevimento studenti).
Non ci sarà un bonus, ma potrete verificare i vostri progressi nella
conoscenza del linguaggio C in vista del progetto finale.
Spedirmi i programmi non è obbligatorio (dovrete comunque portarli
all'esame finale); è solo una opportunità in più per imparare.
Esercizio 3: IMPORTANTISSIMO!
Un file HTML è solo un file di testo. Abbiamo visto nella lezione scorsa che in C possiamo creare e modificare dei file di testo. Ma allora perché non scrivere un programma che crei automaticamente delle pagine HTML? E' utilissimo sopratutto per strutture ripetitive come le tabelle.
Studia il primo esempio: CreaFileHtml1.c. Il programma crea un file HTML elementare. Non limitarti a compilarlo ed eseguirlo! Leggi attentamente il sorgente e cerca di capire ogni riga di codice!
Quando il primo esempio è chiaro, passa al secondo CreaFileHtml2.c. Il programma crea una tabella delle potenze del 2 e del 3 da 0 a 10. Studiando il sorgente vedrai un tag HTML non visto a lezione e due modi utili per spezzare le costanti di testo su più righe.
Se hai capito i due esempi precedenti, prendendone spunto crea un tuo programma "tabelline.c" che crea una pagina HTML ("tabelline.html") con una tabella delle "tabelline" da 1 a 10 (come quella che tutti abbiamo imparato a memoria in seconda elementare).
Esercizio 4:
Scrivere un programma "converti.c" che crea una pagina HTML che contiene il testo ben formattato del libro dell'"inferno" della "Divina commedia" di Dante Alighieri.
Questo è un esercizio impegnativo, ma hai le conoscenze per affrontalo! Come procedere:altrimenti copialo tale e quale in "inferno.html". Per sapere se il carettere '*' è il secondo o il quarto che trovi, utilizza una variabile che incrementi quando ne trovi uno e che azzeri quando scrivi il tag di chiusura </b>. Lo stesso vale per il carattere '~'.
- Scarica questo file nella tua cartella: inferno.txt. Contiene il testo del libro di Dante.
- Prendi spunto dagli esempi dell'esercizio precedente e prepara il programma "converti.c" in modo che crei un file HTML vuoto dal nome "inferno.html" con il titolo opportuno ("INFERNO :: DIVINA COMMEDIA :: DANTE ALIGHIERI"). Verifica che il file HTML sia stato creato opportunamente.
- Modifica ora il tuo programma in modo che apra il file "INFERNO.TXT" in modalità testo. Leggi un carattere alla volta dal file. Se il carattere è
- '\n' scrivi in "inferno.html" una interruzione di riga in HTML cioè <br />
- il primo '~' che trovi scrivi in "inferno.html" l'indicazione che il testo deve essere in corsivo cioè <i>. Al secondo scrivi </i>
- i primi due '*' che trovi scrivi in "inferno.html" l'indicazione che il testo deve essere in neretto cioè <b>
. Dopo il quarto carattere '*' scrivi </b>.
©2003-2004 Fabio Scotti e Roberto Sassi