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>" );