Functions (Video Version)
-
0:01 - 0:06Ahora hablemos acerca de algo que has estado usando todo el tiempo: Funciones
-
0:06 - 0:09Cada vez que haz usado comandos cómo rsct() o fill() o tex()
-
0:09 - 0:12haz estado llamando funciones, y esas funciones han dibujado
-
0:12 - 0:14lo que tú le haz ordenado.
-
0:15 - 0:19Qué es una función realmente? Es una colección de código que hemos agrupado
-
0:19 - 0:23y dado un nombre porque queremos usar esa poca de funcionalidad muchas veces.
-
0:24 - 0:28Piensa en rect(). ¿Qué hace rect()? Sólo dibuja cuatro lineas, correcto?
-
0:28 - 0:32Nosotros podriamos hacer eso usando nuestra función line(), no es asi?
-
0:32 - 0:34Y aquí tenemos lo que parece ser un rectángulo.
-
0:34 - 0:39Pero nos damos cuenta que quisiéramos poder dibujar un rectángulo muchas veces
-
0:39 - 0:44Y sería realmente molesto hacer los cálculos cada vez para tratar de encontrar
-
0:44 - 0:45La forma de dibujar una línea desde una esquina a la otra, y la otra y la otra.
-
0:45 - 0:50Así que en vez de eso, tan sólo hacemos una función rect() y esa función hace exactamente
-
0:50 - 0:54Lo mismo que esas cuatro líneas de código, pero con mucho menos código.
-
0:55 - 1:02Así que eso es muy cool, y rect() es una de esas funciones que tenemos disponibles para TODOS los programas que usamos aquí en Khan Academy
-
1:03 - 1:08Pero, tu puedes también hacer tus propias funciones para usar en cada uno de tus programas.
-
1:08 - 1:21Por ejemplo, digamos que estamos haciendo un programa y queremos dibujar "Winston" muchas veces - tal vez porque vamos a contar la historia de la vida de Winston y mostrarlo en cada época de su vida.
-
1:21 - 1:24Así que esto es lo que sería el código para dibujar "Winston" inicialmente:
-
1:24 - 1:33Tenemos las variables 'faceX' y 'faceY' para almacenar el centro de la cara, y entonces dibujar los ojos y la boca en posiciones relativas a esas variables.
-
1:33 - 1:40En este momento el programa ve el código, y no está dentro de ninguna función, así que sólo lo ejecuta y este se ejecuta sólo una vez.
-
1:40 - 1:49De acuerdo, convirtamos esto en una función. Para hacerlo, lo hacemos de la misma forma que declaramos una variable, porque en realidad eso es lo que estamos haciendo.
-
1:49 - 2:11Así que decimos 'var drawWinston' - le damos un nombre bonito - muy descriptivo - y luego escribimos '=' pero aquí en vez de escribir un número o una cadena de caracteres, vamos a escribir 'function' (asegúrate de escribirlo correctamente) y luego abrimos y cerramos paréntesis '()' y luego abrimos corchetes '{' y cerramos corchetes '}' y nuestro punto y coma ';'
-
2:11 - 2:27Ok así que lo que necesitamos hacer es poner todo lo que queremos dentro de nuestra función entre las corchetes. Así que tomaremos todo este código de aquí, lo ponemos en nuestra función (usamos sangría), y "ta da!"
-
2:27 - 2:44Así que ahora lo que tenemos es una variable que almacena una función - básicamente hemos puesto una etiqueta a este bloque de código, de forma que podamos decirle a nuestro programa cuando queramos: "Oye encuentra ese bloque de código con esta etiqueta y ejecútalo!" De esta forma estamos haciendo que este fragmento del código sea re-usable.
-
2:44 - 3:01Pero ahora fíjate, no tenemos mas a "Winston"! Hemos perdido a "Winston"! A donde fue? OK - lo que sucedió fue que una vez que pusimos el código dentro de la función le dijimos a nuestro programa "oye aqui esta este trozo de código que queremos ejecutar mas tarde, pero sólo cuando te digamos que lo ejecutes"
-
3:01 - 3:09Así que tenemos que decirle que ejecute el código, lo que significa que debemos 'llamar' la función - tal cómo lo hacemos con ellipse(), rect() y line().
-
3:09 - 3:21Así que sólo escribimos el nombre de la función ('drawWinston') seguida por nuestros paréntesis '()' y nuestro punto y coma y "ta da" Tenemos a Winston!
-
3:21 - 3:30De acuerdo! Así que piensas que es cool, pero podrías pensar que no ya que lo que hemos hecho es hacer que nuestro programa haga exactamente lo mismo que hacia antes. No es eso tonto?
-
3:30 - 3:51El punto de hacer una función es que podamos re-usarla. Así que hagamos eso. Podemos tan sólo copiar y pegar esta función y "ta da" "ta da" una y otra vez. Ummmm, pero parece igual - bien - funcionó - esta dibujando muchos Winstons, pero el problema es que están todos en el mismo lugar.
-
3:51 - 4:00Si tuviéramos visión de rayos x podríamos ver tres Winstons, pero no tenemos (no sé tu)
-
4:00 - 4:05Pero, podemos hacer un pequeño cambio a nuestra función que hiciera visible.
-
4:05 - 4:30Si observamos faceX y facY - siempre son 202 y 208? Podemos cambiar estos números usando la función random() desde 50 a 350 y generará un número aleatoria cada vez, y si reiniciamos podemos obtener Winstons aleatorios - eso es genial!
-
4:30 - 4:38Perfecto - Pienso que es genial porque se necesitaría un montón de código para escribir esto si no hubiéramos escrito una función. Tendríamos tres veces más código.
-
4:38 - 4:47Pero todavía no es TAN útil como podría ser, porque probablemente queremos Winstons aleatorios - probablemente queremos colocar a Winston en un punto específico de la pantalla.
-
4:47 - 4:55Así que mantente sintonizado porque próximamente hablaremos de cómo pasar parámetros a nuestras funciones.
- Title:
- Functions (Video Version)
- Description:
-
This is just a screen grab of our interactive coding talk-through, prepared to make captioning and translation easier. It is better to watch our talk-throughs here:
https://www.khanacademy.org/cs/programming/ - Video Language:
- Turkish
- Duration:
- 04:56
Alex Torres edited Spanish subtitles for Functions (Video Version) | ||
Vladimir Cepeda edited Spanish subtitles for Functions (Video Version) | ||
Vladimir Cepeda edited Spanish subtitles for Functions (Video Version) | ||
Vladimir Cepeda edited Spanish subtitles for Functions (Video Version) |