Diferència entre revisions de la pàgina «Solució Instruens Fabulam»
De wikiserver
(Es crea la pàgina amb «Es recorda que l'ús de funcions no s'explicarán fins la UF2. Per aixó, en aquest exercici no s'utilitzaran. <pre> var d = "==<%42&t&ei%what is the answer?&yykykykykyk…».) |
|||
| Línia 73: | Línia 73: | ||
for (n = 0; n < numchar; n++) | for (n = 0; n < numchar; n++) | ||
{ | { | ||
| − | line = line + " "; | + | line = line + "&nbsp;"; |
} | } | ||
if (i == 1 )//si estem a la capçalera | if (i == 1 )//si estem a la capçalera | ||
| Línia 87: | Línia 87: | ||
case "=": | case "=": | ||
// S'utilitza el modificador /g per tal que reemplaci totes les ocurrències | // S'utilitza el modificador /g per tal que reemplaci totes les ocurrències | ||
| − | var n=line.replace(/ /g," "); | + | var n=line.replace(/&nbsp;/g," "); |
var left = n.substring(0,Math.round(n.length/2)); | var left = n.substring(0,Math.round(n.length/2)); | ||
var right = n.substring(Math.round(n.length/2)); | var right = n.substring(Math.round(n.length/2)); | ||
| − | left = left.replace(/ /g," "); | + | left = left.replace(/ /g,"&nbsp"); |
| − | right = right.replace(/ /g," "); | + | right = right.replace(/ /g,"&nbsp"); |
line = left + palabres[j] + right; | line = left + palabres[j] + right; | ||
break; | break; | ||
| Línia 102: | Línia 102: | ||
//es possen els separadors de columna. | //es possen els separadors de columna. | ||
if(j == 0){ //es la 1a columna | if(j == 0){ //es la 1a columna | ||
| − | line = "| " + line; | + | line = "|&nbsp;" + line; |
} | } | ||
| − | result = result + line + " | "; | + | result = result + line + "&nbsp;|&nbsp;"; |
} | } | ||
Revisió del 15:35, 7 oct 2013
Es recorda que l'ús de funcions no s'explicarán fins la UF2. Per aixó, en aquest exercici no s'utilitzaran.
var d = "==<%42&t&ei%what is the answer?&yykykykykykykykykyk&4444444";
var descfila = d.split("%");
//càlcul del nombre màxim de caràcters per columna
var maxcharcol = [];
for (var i = 1; i<descfila.length; i++)
{
var palabres = descfila[i].split("&");
for(var j = 0; j < palabres.length; j++){
if(isNaN(maxcharcol[j])) maxcharcol[j] = palabres[j].length;
else {maxcharcol[j] = Math.max(maxcharcol[j],palabres[j].length);}
}
}
// variable resultat
var result = "";
//variable capçalera
vores ="";
//escriure contingut
for (var i = 1; i< descfila.length; i++)
{
var palabres = descfila[i].split("&");
//posem la separació entre la linea capçalera i les files
if( i == 2)
{
var line = "";
for(var j = 0; j < maxcharcol.length; j++)
{
//ES posen els '+' per la separacio entre columnes.
//només es posa si hi ha + de 1 columna
if( j != 0 && j <= maxcharcol.length -1)
{
line = line + "-+-" ;
vores = vores + "---";
}
//Es posen els '-'
for (n = 0 ; n < maxcharcol[j]; n++)
{
vores = vores + "-";
line = line + "-";
}
//Es posen els '|' d'inici i final, si estem a la 1º o última columna.
if (j==0)
{
//primera columna
line = "|-" + line;
vores = "-" + vores ;
}
if (j == maxcharcol.length -1){
//última columna
line = line + "-|";
vores = "-" + vores ;
}
}
result = result + line + "<br>";
}
//S'escriu la paraules de cadascuna de les cel·les i files.
for(var j = 0; j < palabres.length; j++)
{
var line = "";
numchar = maxcharcol[j] - palabres[j].length;
//s'escriu la paraula amb espais per omplir la columna
for (n = 0; n < numchar; n++)
{
line = line + " ";
}
if (i == 1 )//si estem a la capçalera
{//s'ha d'alinear la capçalera segons sigui < > =
var c = descfila[0].charAt(j);
switch(c ){
case ">":
line = line + palabres[j];
break;
case "<":
line = palabres[j] + line;
break;
case "=":
// S'utilitza el modificador /g per tal que reemplaci totes les ocurrències
var n=line.replace(/ /g," ");
var left = n.substring(0,Math.round(n.length/2));
var right = n.substring(Math.round(n.length/2));
left = left.replace(/ /g," ");
right = right.replace(/ /g," ");
line = left + palabres[j] + right;
break;
}
}
else{//si no estem a la capçalera s'alinea normal. A la dreta.
line = line + palabres[j];
}
//es possen els separadors de columna.
if(j == 0){ //es la 1a columna
line = "| " + line;
}
result = result + line + " | ";
}
result = result + "<br>";
}
vores = "@" + vores + "@";
document.write(vores + "<br>" + result + vores+ "<br>" );