Functions | Computer Programming | Khan Academy

Khan Academy Computing
25 Nov 201304:56

Summary

TLDREl guion trata sobre las funciones en programación, cómo se utilizan y su importancia. Se explica que una función es un conjunto de código con un nombre, diseñado para ser reutilizable. Se da un ejemplo práctico con la función 'rect()' y se muestra cómo crear una función personalizada para dibujar a Winston. Se resalta la ventaja de las funciones al evitar la repetición de código y se menciona la posibilidad de personalizar la posición de los elementos al usar parámetros en las funciones.

Takeaways

  • 😀 Una función es un conjunto de código que se agrupa y le da un nombre para poder reutilizarlo fácilmente.
  • 🎨 Los comandos rect(), fill(), text() son ejemplos de funciones que se utilizan para dibujar en programas.
  • 📐 La función rect() es un atajo para dibujar un rectángulo usando solo una función en lugar de cuatro líneas individuales.
  • 💡 Al crear una función propia, se le da un nombre descriptivo y se define con la palabra clave 'function', seguidos de paréntesis y llaves.
  • 🔄 Para hacer que una función se ejecute, se debe 'invocar' o 'llamar' a esa función, como se hace con las funciones preexistentes.
  • 🖌️ Al transformar un bloque de código en una función, este no se ejecutará hasta que se llame explícitamente.
  • 🤹‍♂️ Las funciones son útiles para evitar repetir código; se pueden llamar varias veces para realizar la misma tarea.
  • 🔄 Al utilizar la función random() dentro de una función, se pueden generar resultados aleatorios cada vez que se llama a la función.
  • 🎭 Al cambiar los valores fijos (como coordenadas) dentro de una función por valores aleatorios o variables, se pueden crear múltiples instancias únicas.
  • 🔍 La capacidad de pasar parámetros a las funciones permitirá controlar más precisamente cómo se ejecutan, permitiendo la personalización de la función en diferentes situaciones.

Q & A

  • ¿Qué es una función en el contexto de programación?

    -Una función es un conjunto de código que se agrupa y se le da un nombre para poder reutilizar esa funcionalidad varias veces.

  • ¿Cuál es el propósito de crear una función como rect()?

    -El propósito de crear una función como rect() es simplificar el proceso de dibujar un rectángulo utilizando solo una función en lugar de calcular y dibujar cuatro líneas individuales.

  • ¿Cómo se declara una función en el código?

    -Se declara una función de manera similar a la declaración de una variable, utilizando la palabra clave 'function', seguido de paréntesis vacíos y llaves que contienen el código de la función.

  • ¿Qué sucede si se crea una función pero no se llama para ejecutarla?

    -Si se crea una función pero no se llama, el código dentro de la función no se ejecutará. Es necesario llamar a la función para que se active y se ejecute el código que contiene.

  • ¿Cómo se llama a una función para ejecutarla?

    -Se llama a una función escribiendo su nombre seguido de paréntesis vacíos y un punto y coma. Esto indica al programa que ejecute el código dentro de la función.

  • ¿Por qué es útil poder reutilizar funciones en un programa?

    -Es útil poder reutilizar funciones porque permite ahorrar tiempo y evitar la repetición de código, lo que facilita la modificación y el mantenimiento del programa.

  • ¿Cómo se pueden posicionar los dibujos de un objeto como Winston en diferentes lugares utilizando funciones?

    -Se pueden posicionar los dibujos en diferentes lugares utilizando funciones al cambiar los valores de las variables que controlan la posición dentro de la función, como se sugiere con el uso de la función random() para generar números aleatorios.

  • ¿Qué ventajas aporta el uso de parámetros en las funciones?

    -El uso de parámetros en las funciones permite personalizar el comportamiento de la función cada vez que se llama, lo que aumenta la flexibilidad y la utilidad de la función en diferentes situaciones.

  • ¿Cuál es la diferencia entre una función integrada como rect() y una función personalizada como drawWinston?

    -La diferencia es que las funciones integradas están disponibles para todos los programas en Khan Academy, mientras que las funciones personalizadas son específicas de cada programa y se crean para satisfacer necesidades particulares del mismo.

  • ¿Cómo se pueden hacer funciones más útiles al permitir la personalización de sus resultados?

    -Se pueden hacer funciones más útiles permitiendo que se le pasen parámetros que alteren su comportamiento o resultados, permitiendo así una mayor personalización y flexibilidad en su uso.

Outlines

00:00

😀 Funciones en programación

Este párrafo introduce el concepto de funciones en programación, explicando cómo se utilizan en comandos básicos como rect(), fill() o text(). Una función es un conjunto de código con un nombre que permite reutilizar un bloque de funcionalidad. Se da un ejemplo práctico con rect(), que aunque podría implementarse con líneas, se agrupa en una función para simplificar el proceso. Además, se menciona la capacidad de crear funciones propias, como 'drawWinston', para dibujar un personaje múltiples veces. Se detalla cómo se declara una función, asignándole un nombre, y se muestra cómo se convierte un bloque de código en una función reutilizable. Finalmente, se destaca la necesidad de 'llamar' a la función para ejecutar su código, demostrando cómo hacerlo y cómo, al hacerlo, se puede generar múltiples instancias del personaje.

Mindmap

Keywords

💡Función

Una función es un conjunto de instrucciones que se agrupan bajo un nombre común y se pueden ejecutar repetidamente sin tener que escribir el código cada vez. En el vídeo, se explica que las funciones como rect() o fill() son bloques de código con etiquetas que permiten a los programadores utilizarlos en diferentes partes del programa sin tener que volver a escribir el código. Esto se relaciona con el tema del vídeo, que es la reutilización del código para simplificar y agilizar el proceso de programación.

💡rect()

rect() es una función específica que se utiliza para dibujar un rectángulo. En el guion, se menciona que rect() es una función predefinida que se ha hecho disponible para todos los programas en Khan Academy, y que internamente, podría estar compuesto por cuatro líneas de código que se ejecutan para dibujar cuatro líneas que forman un rectángulo.

💡line()

line() es otra función mencionada en el guion que se utiliza para dibujar líneas. Se utiliza para ilustrar cómo podríamos dibujar un rectángulo utilizando solo line() en lugar de rect(), lo que demuestra la flexibilidad de las funciones y cómo pueden ser utilizadas para construir formas más complejas a partir de primitivas básicas.

💡Dibujar

Dibujar es el proceso de crear imágenes o formas en una pantalla o lienzo. El vídeo trata sobre cómo las funciones pueden ser utilizadas para dibujar diferentes elementos, como rectángulos o personajes, como Winston. El dibujo es un concepto central en programación gráfica, y el vídeo utiliza el dibujo como un medio para enseñar sobre las funciones.

💡Variables

Las variables son contenedores para almacenar datos en un programa. En el guion, se mencionan variables como 'faceX' y 'faceY' que se utilizan para almacenar la posición central de la cara de Winston. Estas variables son cruciales para el dibujo de formas en un programa, ya que permiten a los programadores manipular y reutilizar valores en diferentes funciones.

💡Programa

Un programa es una serie de instrucciones que un ordenador puede ejecutar. En el contexto del vídeo, un programa se refiere al conjunto de código que se está escribiendo para dibujar y manipular gráficos en una pantalla. El vídeo enseña cómo se pueden utilizar las funciones dentro de un programa para hacer que el código sea más eficiente y fácil de entender.

💡Reutilización del código

La reutilización del código es el concepto de usar bloques de código que ya han sido escritos y probados en diferentes partes de un programa o en múltiples programas. El vídeo enfatiza la importancia de la reutilización del código a través de las funciones, ya que permite ahorrar tiempo y evitar errores al no tener que recrear constantemente el mismo código.

💡Declaración de función

La declaración de función es el proceso de definir una función en un programa. En el guion, se describe cómo se declara una función con la palabra clave 'function', seguida de un nombre, paréntesis y llaves que contienen el código de la función. Esta declaración es esencial para crear funciones personalizadas que se pueden llamar y ejecutar en un programa.

💡Llamar una función

Llamar una función es el acto de ejecutar o invocar una función en un programa. En el vídeo, se muestra cómo se llama a una función personalizada, como 'drawWinston()', para dibujar el personaje Winston en la pantalla. La llamada a la función es una parte crucial de la programación, ya que permite ejecutar el código definido dentro de la función.

💡Parámetros

Los parámetros son valores que se pasan a una función cuando se llama. Aunque no se mencionan explícitamente en el guion, el concepto está implícito en la discusión sobre cómo se podrían mejorar las funciones para dibujar múltiples instancias de un objeto en diferentes lugares. Los parámetros permitirían a los programadores personalizar la ejecución de una función cada vez que se llame, pasando valores específicos para variables como coordenadas de dibujo.

Highlights

Functions are a way to group code together for reuse.

rect() is a pre-defined function that draws rectangles.

Functions like rect() can be created by combining basic drawing commands.

Creating a function reduces the amount of code needed for repetitive tasks.

Custom functions can be created for specific tasks in a program.

The process of defining a function is similar to declaring a variable.

Function definition includes a name, parentheses, and curly braces.

Code within a function is not executed until the function is called.

Functions can be called to execute their code multiple times.

Functions can be used to draw the same object multiple times with ease.

Randomness can be introduced within functions to create variability.

Using random() function can place objects like Winston at random positions.

Functions make it possible to write less code for complex tasks.

Parameters will be discussed next for even more function control.

Parameters will allow functions to be more versatile and useful.

Transcripts

play00:01

Now let's talk about something you've been using

play00:03

this whole time: Functions.

play00:05

Whenever you've used commands like rect() or fill() or text(),

play00:09

you've been calling functions, and those functions have drawn

play00:12

what you've told them to do.

play00:15

What is a function really?

play00:16

It's a collection of code that we've grouped together

play00:19

and given a name because we want to be able

play00:21

to use that bit of functionality many times.

play00:23

Think about rect()? What does a rect() do?

play00:25

It just draws four lines, right?

play00:28

We could just do that using our line() function, right?

play00:31

And here we have what looks like a rectangle.

play00:33

But we realize that we kind of want to be able

play00:36

to draw a rectangle a lot of times,

play00:39

and it would be really annoying

play00:40

to do the math every time to try and figure out

play00:42

how to draw a line from one corner to the next

play00:44

and next and next.

play00:45

So instead, we just made a rect() function,

play00:48

and that function does exactly the same thing

play00:50

that those four lines of code did, but in much less code.

play00:55

So that's pretty cool, and rect() is one of those functions

play00:58

that we've made available for ALL programs

play01:00

to use here on Khan Academy.

play01:02

But - you can also make up your own functions

play01:05

to use in each of your programs.

play01:08

For example - let's say we are making a program

play01:11

and we want to draw Winston multiple times -

play01:14

maybe cause we're going to tell the life story of Winston

play01:17

and show him at every age in his life.

play01:20

So, here's what our Winston drawing code might start off as:

play01:24

We have 'faceX' and 'faceY' variables

play01:27

to store the center of the face,

play01:29

and then we draw the eyes and the mouth

play01:31

relative to those variables.

play01:33

Right now the program sees the code,

play01:34

and it's not inside any function, so it just runs it,

play01:37

and it only runs it once.

play01:39

OK, let's turn this into a function.

play01:43

To do that, we do it very similarly to the way

play01:46

we declare a variable, because that's actually

play01:48

what we are doing.

play01:50

So we say 'var drawWinston'.

play01:52

We give it a nice name, very descriptive,

play01:54

and then '=', but here, instead of writing a number or a string,

play01:59

we're going to write 'function' (make sure you spell it right)

play02:02

and then empty parentheses '()' and then an open curly '{'

play02:08

and then a close curly '}' and our semicolon ';'

play02:11

OK so what we need to do is put everything

play02:14

that we want inside our function in between the start and end curly.

play02:19

So we're going to take all this code here,

play02:22

put it in our function (indent it nicely), and Ta Da!

play02:26

So now what we have is we have this variable

play02:28

that is storing a function - so basically we've given

play02:32

a label to this block of code, so that we'd be able to tell

play02:35

our program at any time,

play02:37

"Hey, find that block of code with that label and run it!"

play02:40

We we're making this bit of code reusable.

play02:43

But now notice, that we have no Winston anymore!

play02:46

We've lost Winston! Where did he go?

play02:49

OK - so what happened is that once we put this inside a function,

play02:53

we told our program "hey here's a bunch of code

play02:55

that I want to be able to run later,

play02:57

but only when I TELL you to run it"

play03:00

So we have to tell it to run the code, which means we need

play03:04

to 'call' the function - just like we do with ellipse() and rect() and line().

play03:09

So we just write the function name ('drawWinston')

play03:13

followed by our start and end parentheses '()'

play03:16

and, of course, our semicolon, and Ta Da -

play03:18

We have a Winston!

play03:20

OK! So I think it's cool, but you might not think it's cool

play03:24

because all we've done is made our program do exactly

play03:27

what it did before. Kinda silly huh?

play03:30

The whole point of functions is we can reuse them.

play03:32

So let's do that now.

play03:34

We can just copy and paste this function called "ta da!" "ta da!" over and over.

play03:41

Hmmm, but it looks the same - - well - it worked -

play03:46

it's drawing multiple Winstons, but the problem

play03:48

is they're all in the same place.

play03:51

If we had x-ray vision, we could x-ray the canvas

play03:54

and see three Winstons, but I don't have x-ray vision.

play03:57

(I don't know about you).

play04:00

But, we can make a small change to our function

play04:03

that WILL make it obvious.

play04:05

So you see faceX and faceY - they're always 202 and 208?

play04:08

We can change this to using the random() function -

play04:11

- let's say like random() from 50 to 350 and it'll generate

play04:14

a random number between those two - and we can do the same thing for here -

play04:19

and so every time this function is called, it generates this new random number,

play04:23

and if we push restart, we can keep getting random Winstons.

play04:26

So cool! Whoo!!

play04:29

Alright - so I think this is cool because it would have been

play04:32

a lot of code to write this if we didn't have it in a function.

play04:34

It would have been three times the amount of code.

play04:38

But it's still not AS useful as it could be,

play04:40

because we probably don't want random Winstons.

play04:43

We probably want to be able to position a Winston

play04:45

at specific points on the screen.

play04:47

So stay tuned, 'cause we'll talk about how pass parameters

play04:49

to our functions next, and then you'll be able

play04:52

to do exactly that.

Rate This

5.0 / 5 (0 votes)

Étiquettes Connexes
FuncionesProgramaciónCódigoDibujoReusableKhan AcademyRectLineVariablesFunciones PersonalizadasOptimización
Besoin d'un résumé en anglais ?