2
respuestas

No lo entendi

hola, en este codigo me perdi, ya hubo una parte donde ya no pude desarrollar mi codigo, ya comparando el ejecicio me faltaron basantes cosas agradceia si alguien me las pudiera explicar de nuevo dejo mis dudas comentado dentro del codigo.

<canvas width="600" height="400"></canvas>

<script>

    function dibujarRectangulo(x, y, base, altura, color) {
        var pantalla = document.querySelector("canvas");    ** // estas dos variables siempre tienen que ir dentro de una funcion ? yo no las tengo asi y **         var pincel = pantalla.getContext("2d");                                         **aun el  codigo funciona** 

        pincel.fillStyle=color;
        pincel.fillRect(x,y, base, altura);
        pincel.strokeStyle="black";
        pincel.strokeRect(x,y, base, altura);
    }

    function escribirTexto(x , y, texto) {
        var pantalla = document.querySelector("canvas");
        var pincel = pantalla.getContext("2d");

        pincel.font="15px Georgia";
        pincel.fillStyle="black";
        pincel.fillText(texto, x, y);    
    }

    function dibujarBarra(x, y, serie, colores, texto) {

        escribirTexto(x, y - 20, texto);

        var sumaAltura = 0;
        for (var i = 0; i < serie.length; i++) {   **//porque usa "var i" y como es que llama el array ?**
            var altura = serie[i];
            dibujarRectangulo(x, y + sumaAltura, 50, altura, colores[i]);      **//porque el numero 50 ?**
            sumaAltura = sumaAltura + altura;
        }
    }

    var colores = ["blue","green","yellow", "red","gray"];
    var serie2009 = [6,47,41,3,3];
    var serie2019 = [81,9,3,3,4];

    dibujarBarra(50, 50, serie2009, colores, "2009");  **//entonces si el array se declara como variable el for como la aplica ?**
    dibujarBarra(150, 50, serie2019, colores, "2019");

</script>
2 respuestas

Hola Eduardo, espero poder ayudarte y voy a intentar explicar tus dudas.

  1. Las variables del principio no es necesario ponerlas dentro de la función, se pueden poner fuera de esta ya que una vez declaradas se puede utilizar en el código.
  2. La variable " i "simplemente es una variable la cual tiene como valor 0 ya que es el primer valor de un "array" y va incrementando hasta llegar al ultimo valor del "array".
  3. Dentro del for es donde se está llamando al array, estas declarando una variable altura donde estas llamando a las series con el valor de i, o sea que si pones la serie2009 en donde dice serie[i] se sustituye el serie por serie2009[0] y luego conforme cambia "i" va incrementado serie2009[1]...etc hasta llegar al ultimo valor de la serie previamente llamada.
  4. Lo mismo sucede con colores[i], se esta llamando al arreglo de los colores y conforme va incrementando el valor [i] va llamando al siguiente valor en la lista.
  5. El numero 50 es el ancho del rectángulo y todos tienen el mismo ancho por lo que no se cambia, recuerda que los parámetros son [x, y] que es en que parte del canvas se va a colocar el rectángulo, seguido por el [50] que sería el ancho y la altura la cual previamente se definió al inicio del for como igual a la serie[i] colocada en los parámetros al llamar la función, en el caso de serie2009[1] la altura valdría 47

Espero que te sirva de algo ya que soy muy malo explicando pero quise hacer el intento jaja

Hola Rodrigo, agradezco la explicación, me a ayudado a despejar las dudas sobre este ejercicio. veo que tu lo entiendes muy bien podrias darme algun concejo para mejorar y entender todo esto a profundidad ?