YouTube

Got a YouTube account?

New: enable viewer-created translations and captions on your YouTube channel!

Spanish subtitles

← Function Return Values (Video Version)

Get Embed Code
11 Languages

Showing Revision 1 created 12/27/2014 by Miguel Cordero.

  1. Aquí estamos, con un programa que usa una
    función para dibujar a Winston 4 veces.

  2. Y lo he modificado para mostrar su edad
    en cada momento, pronto verás por qué.
  3. Pero antes, necesito decirte algo sobre
    Winston: tiene una adicción a los dónuts.
  4. Toma tres cada día. Por eso probablemente
    su cara es tan grande y amarilla.
  5. Así, para decirle a Winston lo malos que son
    para él, quiero modificar este programa para
    mostrar el total de dónuts en cada momento.
  6. Por ejemplo, si tiene dos años, esto supone que
    ha comido tres veces 365 por dos, es decir,
    tres cada día, 365 veces, durante dos años.
  7. Lo mostraremos bajo la cabecera. Vaya! Dos
    mil dónuts, que es un montón para 2 años.
  8. Así, cuando tenga 14 años, veamos, habrá
    tomado 3 veces 365 por 14.
  9. Eso hace 15 mil dónuts. Bien. Puedo seguir
    calculando, pero intuyo una estructura.
  10. Estoy repitiendo mis cálculos y sólo
    cambio una cosa: el número de años.
  11. Siempre que veo repetirse código así,
    pienso si podré convertirlo en una función.
  12. Sí. por supuesto, es posible. Así que,
    hagámoslo ahora.
  13. Definiré aquí mi función y la llamaré
    calcTotalDonuts igual a function.
  14. Va a tener un parámetro, el número de años,
    que es lo único que cambiaremos cada vez.
  15. Y ahora dentro, hacemos el cálculo y lo
    guardamos en una variable. que será tres veces
    365 por el número de años.
  16. Bien, ahora que tenemos la función, voy a
    reemplazar esta expresión por calcTotalDonuts (la
    llamada a la función) con el parámetro "2".
  17. Bien, pero ahora no vemos ningún resultado.
  18. ¿Qué ha ocurrido? Vale, nuestra función calculó
    el total, pero no le pasó el dato a nadie.
  19. Es como si un profesor te pregunta y sabes
    la respuesta, pero eres tan tímido que no la dices.
  20. Has hecho el trabajo, pero tu profesor
    nunca lo sabrá.
  21. Si queremos que la función informe a quien la
    llama, debe devolver el valor de forma explícita.
  22. Para que una función devuelva el resultado,
    escribiremos "return" y lo que debe devolver:
    una variable, un valor o una expresión.
  23. así que pondremos "return totalDonuts". Con
    lo que al llamar a esta función dará este valor.
  24. ¡Ahora se muestra nuestro resultado!
  25. Realmente podemos abreviar la función, sin
    siquiera usar una variable, poniendo la expresión
  26. con "return" y ya sólo es una línea. Vale.
  27. Bien, ahora podemos seguir y calcular el
    total de dónuts en cada momento llamando a
    la función y pasándole el número de años.
  28. Veamos, calcTotalDonuts(25), en la posición
    correcta, calcTotalDonuts(65).
  29. ¡Bien! Esto hace que a los 65 haya comido
    70 000 dónuts. ¡Es un montón de dónuts!
  30. No creo que Winston lo consiga. [risas]
  31. Pero ahora que hemos creado una función,
    es muy fácil cambiarla.
  32. Si Winston lo ve y dice "¡Vaya! Es mucho.
    ¿Qué tal si sólo como uno al día?"
  33. Bien, sólo tenemos que ir aquí, cambiar
    este número, y ver cómo todo cambia.
  34. Ahora son 23 000. Todavía muchos. Así que
    Winston puede decir "¡Vale! ¿Y si sólo tomo
    uno por semana?". Sí, eso es razonable.
  35. Sólo tenemos que cambiar 365 por 50, ya
    que hay unas 50 semanas en un año, ¿vale?
  36. Bien, esto es mucho mejor. 3 000 dónuts
    parece razonable.
  37. Como veis, con funciones y resultados
    podemos ahorrar código y salvar vidas.