Solució Dibuixos amb asteriscos

De wikiserver
La revisió el 15:01, 14 oct 2013 per Asalinas (Discussió | contribucions) (Es crea la pàgina amb «'''Volcà''' : Utilitzarem un bucle que escriu una linia a cada volta. <pre> for (var i = 1 ; i <= numfilas; i++) { (Dibuixar la fila i) } </pre> On dibuixar la fil…».)
(dif) ← Versió més antiga | Versió actual (dif) | Versió més nova → (dif)
Dreceres ràpides: navegació, cerca

Volcà : Utilitzarem un bucle que escriu una linia a cada volta.


for (var i = 1 ; i <= numfilas; i++)
{
  (Dibuixar la fila i)
}

On dibuixar la fila i correspón a:

  • Posar els espais en blanc d'esquerra a dreta
  • Posar els asteriscs
  • Salt de linia

El numero de asteriscs és facil ya que a cada fila hi ha el doble d'asteriscs que a l'anterior. Comencem amb numAst = 1; i els multipliquem per dos cada vegada.

Mosaic : S'ha d'escriure 8 files. S'ha de posar un asterisc o un espai en blanc depenen de la paritatde i+j.

for (var i = 1; i <= mida; i++)
//escribim les 8 files
     for (var j = 1; j <= mida; j++){
     {
         if ((i+j) % 2 == 0) // escribim un " "
         else // escribim un *
     }
}

Tauler : S'ha de modificar una mica el programa anterior. Es repeteix cada filera segons l'amplada de cada cuadre. A més a més, s'ha de repetir cada caràcter segons el numero de l'amplada de cada cuadre.

Es necessita un for adicional per l'amplada entre els 2 fors anterior i un altre for per repetir el caràcter :

for (...)
  for(var ii = 1; i < ample; i++)
  {
     for (...){
     {
         if ((i+j) % 2 == 0) // repetim " " tantes vegades com ample (un altre for)
         else // escribim un * tantes vegades com ample
     }
  }
}