TEXTE de l'activité

UN PEU DE PROGRAMMATION…………………………………………………….
A Pages web
But programmer l'affichage automatique de tous les caractères ANSI :

Structure d’une page htm vide:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
</body>
</html>

Recopier ce document vide dans le bloc note

  • Rajouter un titre TABLE ANSI entre les balises de titre ( cela s’affichera dans la barre du navigateur)
  • Rajouter la commande bgcolor suivante pour avoir une couleur de fond jaune clair : <body bgcolor=#ffffbb>
  • Rajouter TABLE DE CARACTERES ANSI dans le corps de texte entouré des balises <h1> et</h1> pour avoir un affichage en gros (en-tête 1)
  • Rajouter la balise <hr> pour faire dessiner une ligne horizontale
  • Enregistrer dans votre répertoire de travail sous le nom ansi.htm.
  • Visualiser dans le navigateur

Codage d’un caractère :
Decimal Numeric Character References (NCR) &#89; ce code permet de demander ici l’affichage du 89éme caractère de la table ANSI : Y
1ere étape

  • Dans le corps de texte créer les balises <script></script> qui encadreront le script permettant de faire tracer cette table de caractère.
  • Ajouter document.write('&#89');
  • Enregistrer et vérifier que cela affiche un Y

2éme étape

  • Rajouter ce qui est nécessaire pour lire à l’écran 89=Y

3eme étape
Le numéro du code doit être en rouge le « = » en noir et le caractère en rouge, le tout en gras.
Données :
• Balise <font color=#FF0000> et </font> encadrant ce qui doit être en rouge.
• Balise <b> et </b> pour encadrer ce qui doit être en gras.

Affichage de tous les caractères
Instruction en boucle
pour lister des centaines de caractères. Il faut utiliser une boucle du type :
for(var i=0; i<256; i++) {
}

  • signification : pour une variable numérique i variant entre 0 et 255, incrémenter de 1 à chaque passage (i++)
    les 2 { } encadrent les instructions à effectuer à chaque passage
  • exemple : si on écrivait : document.write(i)on obtiendrait l’affichage de tous les nombres de 0 à 255
  • remarque si on écrivait : document.write(‘i’)on obtiendrait l’affichage de 256 lettre i à l’écran

donc : une variable texte s’encadre de ‘’ mais pas une variable numérique
on peut concaténer un ensemble de variables texte et numériques de la façon suivante : exemple : document.write(‘texte quelconque ’+i+‘ autre texte’)
1ère étape
Modifier le script pour obtenir l’affichage des 256 caractères ANSI
2ème étape
Il faut afficher les 256 caractères dans un tableau qui change de ligne tous les 16 caractères.

Structure d’un tableau : (ici 2 lignes et 2 colonnes )
<table width=100% border=1 cellspacing=0 cellpadding=1>
<tr>
<td>cellule1-1</td>
<td> cellule1-2</td>
</tr>
<tr>
<td> cellule2-1</td>
<td> cellule2-2</td>
</tr>
</table>

cellule 1-1 cellule 1 -2
cellule 2-1 cellule 2-2
<table> et </table> : début et fin du tableau
<tr>et </tr> : début et fin de ligne
<td>et </td> : début et fin de cellule
  • Avant la boucle for : faire un document.write pour déclarer une fois le début du tableau et le début de la ligne
  • Après la boucle : idem pour la fin de la dernière ligne et la fin du tableau
  • Dans la boucle : rajouter début et fin de cellule dans le document.write
  • problème : il faut changer de ligne </tr> uniquement au bout de 16 cellules. Il va falloir rajouter une instruction conditionnelle.

Questions :
• Quel est le reste de la division par 16 des nombre i de bout de ligne à savoir 15, 31, 47 etc…
• Pour calculer le reste de la division par 16 du nombre i il suffit d’écrire i%16. Donc déclarer une variable : var mod = i%16
• Instruction conditionnelle dans la boucle et après le document.write :
if((i<255)&&(mod==15)){document.write('</tr><tr>')}
que signifie cette instruction ?

Si aucune faute la page doit s’afficher correctement ! :o)