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…».) |
|||
(Hi ha una revisió intermèdia del mateix usuari que no es mostren) | |||
Línia 26: | Línia 26: | ||
var palabres = descfila[i].split("&"); | var palabres = descfila[i].split("&"); | ||
//posem la separació entre la linea capçalera i les files | //posem la separació entre la linea capçalera i les files | ||
+ | //aprofitem el bucle per fer el marc (varible vores) | ||
if( i == 2) | if( i == 2) | ||
{ | { | ||
Línia 73: | Línia 74: | ||
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 88: | ||
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 103: | ||
//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ó de 15:37, 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 //aprofitem el bucle per fer el marc (varible vores) 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>" );