Return to Video

Funciones (Versión en Video)

  • 0:01 - 0:04
    Ahora hablemos sobre algo que has estado usando
  • 0:04 - 0:06
    todo este tiempo: Funciones.
  • 0:06 - 0:09
    Cada vez que has usado comandos como "rect()" o "fill()" o "text()",
  • 0:09 - 0:12
    has estado llamando funciones, y esas funciones han dibujado
  • 0:12 - 0:15
    lo que les has dicho que hagan.
  • 0:15 - 0:17
    ¿Qué es una función en realidad?
  • 0:17 - 0:19
    Es una colección de código que agrupamos
  • 0:19 - 0:21
    y le damos un nombre porque queremos poder
  • 0:21 - 0:24
    usar la funcionalidad de ese código muchas veces.
  • 0:24 - 0:26
    Piensa en "rect()".
    ¿Qué es lo que hace "rect()"?
  • 0:26 - 0:29
    Sólo dibuja cuatro líneas, ¿cierto?
  • 0:29 - 0:32
    Podríamos hacer lo mismo usando nuestra función "line()", ¿cierto?
  • 0:32 - 0:34
    Y aquí tenemos lo que parece un rectángulo.
  • 0:34 - 0:37
    Pero nos damos cuenta de que lo que queremos hacer
  • 0:37 - 0:39
    es dibujar un rectángulo muchas veces,
  • 0:39 - 0:41
    y sería realmente molesto
  • 0:41 - 0:43
    hacer el cálculo cada vez, para tratar de averiguar
  • 0:43 - 0:44
    cómo dibujar una línea de una esquina a la siguiente
  • 0:44 - 0:46
    y a la siguiente y a la siguiente.
  • 0:46 - 0:49
    Así que en lugar de eso, sólo hacemos una función "rect()",
  • 0:49 - 0:51
    y esa función hace exactamente lo mismo
  • 0:51 - 0:55
    que esas cuatro líneas de código, pero con menos código.
  • 0:55 - 0:58
    Eso es muy interesante, y "rect()" es una de esas funciones
  • 0:58 - 1:01
    que tenemos disponibles para todos los programas
  • 1:01 - 1:03
    que usamos aquí en Khan Academy.
  • 1:03 - 1:05
    Pero también tú puedes hacer tus propias funciones
  • 1:05 - 1:08
    para usar en cada uno de tus programas.
  • 1:08 - 1:11
    Por ejemplo, digamos que estamos haciendo un programa
  • 1:11 - 1:14
    y queremos dibujar a "Winston" muchas veces,
  • 1:14 - 1:17
    tal vez porque vamos a contar la historia de "Winston"
  • 1:17 - 1:20
    y vamos a mostrarlo en cada etapa de su vida.
  • 1:20 - 1:24
    Así que aquí tenemos lo que podría ser el principio del nuestro código para dibujar a "Winston":
  • 1:24 - 1:27
    Tenemos las variables "faceX" y "faceY"
  • 1:27 - 1:29
    para almacenar el centro de la cara,
  • 1:29 - 1:31
    y luego dibujamos los ojos y la boca
  • 1:31 - 1:33
    en relación con esas variables.
  • 1:33 - 1:35
    En este momento el programa ve el código,
  • 1:35 - 1:37
    y no está dentro de ninguna función, así que lo ejecuta,
  • 1:37 - 1:40
    y lo ejecuta sólo una vez.
  • 1:40 - 1:44
    Ok, vamos a convertir esto en una función.
  • 1:44 - 1:46
    Para hacerlo, lo hacemos muy similar a la manera en que
  • 1:46 - 1:48
    declaramos una variable, porque en realidad
  • 1:48 - 1:50
    es lo que estamos haciendo.
  • 1:50 - 1:52
    Así que escribimos "var drawWinston",
  • 1:52 - 1:55
    Y le damos un nombre lindo, muy descriptivo,
  • 1:55 - 1:59
    y luego "=", pero aquí, en lugar de escribir un número o una cadena de caracteres,
  • 1:59 - 2:03
    vamos a escribir "function", debes asegurarte de escribirlo correctamente,
  • 2:03 - 2:08
    y luego paréntesis vacíos "()" y luego una llave que abre "{"
  • 2:08 - 2:12
    y luego una llave que cierra "}" y punto y coma ";".
  • 2:12 - 2:14
    Ok, entonces lo que necesitamos hacer es poner todo
  • 2:14 - 2:19
    lo que queremos dentro de nuestra función entre la llave que abre y la que cierra.
  • 2:19 - 2:22
    Así que tomamos todo este código de aquí,
  • 2:22 - 2:27
    y lo ponemos en nuestra función, indentando bien, y ¡tan tan!
  • 2:27 - 2:29
    Así que lo que ahora tenemos es esta variable
  • 2:29 - 2:32
    que está almacenando una función - lo que hicimos básicamente fue darle
  • 2:32 - 2:36
    una etiqueta a este bloque de código de manera que podamos decirle
  • 2:36 - 2:38
    a nuestro programa en cualquier momento,
  • 2:38 - 2:41
    "¡Oye, encuentra este bloque de código con esta etiqueta y ejecútalo!"
  • 2:41 - 2:44
    Estamos haciendo que este fragmento de código sea re-usable.
  • 2:44 - 2:47
    Pero ahora fíjate, ¡que ya no tenemos a "Winston"!
  • 2:47 - 2:49
    ¡Perdimos a "Winston"! ¿A dónde se fue?
  • 2:49 - 2:53
    Ok, lo que sucedió es que una vez que pusimos este código dentro de una función,
  • 2:53 - 2:56
    le dijimos a nuestro programa: "oye, aquí hay un pedazo de código
  • 2:56 - 2:58
    que quiero ejecutar más tarde,
  • 2:58 - 3:01
    pero sólo cuando te diga que lo ejecutes".
  • 3:01 - 3:04
    Así que tenemos que decirle al programa que ejecute el código, lo que significa que necesitamos
  • 3:04 - 3:09
    llamar la función, de la misma manera en que lo hacemos con "ellipse()" y "rect()" y "line()".
  • 3:09 - 3:14
    Así que sólo escribimos el nombre de la función ("drawWinston")
  • 3:14 - 3:16
    seguido de los paréntesis que abren y cierran,
  • 3:16 - 3:19
    y por supuesto, nuestro punto y coma, y ¡tan tan!
  • 3:19 - 3:21
    ¡Tenemos a "Winston"!
  • 3:21 - 3:24
    Ok, pienso que está muy bien, pero tal vez no piensen que está bien
  • 3:24 - 3:27
    porque todo lo que hemos hecho es que nuestro programa haga exactamente
  • 3:27 - 3:30
    lo mismo que hacía antes.
    Un poco tonto, ¿no?
  • 3:30 - 3:33
    El punto es que a las funciones las podemos reutilizar.
  • 3:33 - 3:35
    Así que hagámoslo ahora.
  • 3:35 - 3:41
    Podemos copiar y pegar la llamada a la función, ¡tan tan!, ¡tan tan!, una y otra vez.
  • 3:41 - 3:47
    Mmm, pero se ve igual, bueno, funciona.
  • 3:47 - 3:49
    Está dibujando muchos "Winstons" pero el problema
  • 3:49 - 3:51
    es que todos están en el mismo lugar.
  • 3:51 - 3:54
    Si tuviéramos vista de rayos x, veríamos
  • 3:54 - 3:58
    tres "Winstons", pero no la tenemos.
  • 3:58 - 4:00
    (No sé si tú la tengas.)
  • 4:00 - 4:03
    Pero podemos hacer un pequeño cambio en nuestra función
  • 4:03 - 4:05
    que hará que sea obvio.
  • 4:05 - 4:09
    Entonces ¿ves que "faceX" y "faceY" siempre están en 202 y 208?
  • 4:09 - 4:12
    Podemos cambiar esto usando la función "random()",
  • 4:12 - 4:15
    digamos "random() form 50 to 350", y eso genera
  • 4:15 - 4:19
    un número aleatorio entre estos dos, y podemos hacer lo mismo aquí,
  • 4:19 - 4:23
    y cada vez que llamamos la función, genera un nuevo número aleatorio,
  • 4:23 - 4:27
    y si presionamos "Restart", podemos tener "Winstons" aleatorios.
  • 4:27 - 4:29
    ¡Genial! ¡Whoo!
  • 4:29 - 4:32
    Muy bien, pienso que esto es genial porque tendríamos
  • 4:32 - 4:35
    mucho código para escribir esto si no lo tuviéramos en una función.
  • 4:35 - 4:38
    Tendríamos tres veces esta cantidad de código.
  • 4:38 - 4:41
    Pero todavía no es tan útil como podría ser,
  • 4:41 - 4:44
    porque probablemente no queramos tener "Winstons" aleatorios.
  • 4:44 - 4:46
    Probablemente queremos poder posicionar a "Winston"
  • 4:46 - 4:48
    en puntos específicos de la pantalla.
  • 4:48 - 4:50
    Así que mantente en contacto, porque próximamente hablaremos sobre cómo pasar parámentros
  • 4:50 - 4:52
    a nuestras funciones, y entonces
  • 4:52 - 4:55
    podrás hacer eso exactamente.
Title:
Funciones (Versión en Video)
Description:

more » « less
Video Language:
Turkish
Duration:
04:56
Martha Isabel Soriano Ruiz edited Spanish, Mexican subtitles for Functions (Video Version)
Martha Isabel Soriano Ruiz edited Spanish, Mexican subtitles for Functions (Video Version)
Martha Isabel Soriano Ruiz edited Spanish, Mexican subtitles for Functions (Video Version)
Martha Isabel Soriano Ruiz edited Spanish, Mexican subtitles for Functions (Video Version)

Spanish, Mexican subtitles

Revisions