0:00:00.981,0:00:05.860 Aquí estamos, con un programa que usa una[br]función para dibujar a Winston 4 veces. 0:00:05.860,0:00:11.472 Y lo he modificado para mostrar su edad [br]en cada momento, pronto verás por qué. 0:00:11.472,0:00:16.290 Pero antes, necesito decirte algo sobre [br]Winston: tiene una adicción a los dónuts. 0:00:16.290,0:00:21.954 Toma tres cada día. Por eso probablemente[br]su cara es tan grande y amarilla. 0:00:21.954,0:00:32.120 Así, para decirle a Winston lo malos que son[br]para él, quiero modificar este programa para[br]mostrar el total de dónuts en cada momento. 0:00:32.120,0:00:46.119 Por ejemplo, si tiene dos años, esto supone que[br]ha comido tres veces 365 por dos, es decir, [br]tres cada día, 365 veces, durante dos años. 0:00:46.119,0:00:54.669 Lo mostraremos bajo la cabecera. Vaya! Dos[br]mil dónuts, que es un montón para 2 años. 0:00:54.669,0:01:04.272 Así, cuando tenga 14 años, veamos, habrá [br]tomado 3 veces 365 por 14. 0:01:04.272,0:01:13.455 Eso hace 15 mil dónuts. Bien. Puedo seguir[br]calculando, pero intuyo una estructura. 0:01:13.455,0:01:20.784 Estoy repitiendo mis cálculos y sólo [br]cambio una cosa: el número de años. 0:01:20.784,0:01:28.116 Siempre que veo repetirse código así,[br]pienso si podré convertirlo en una función. 0:01:28.116,0:01:33.095 Sí. por supuesto, es posible. Así que,[br]hagámoslo ahora. 0:01:33.095,0:01:41.006 Definiré aquí mi función y la llamaré [br]calcTotalDonuts igual a function. 0:01:41.006,0:01:49.239 Va a tener un parámetro, el número de años,[br]que es lo único que cambiaremos cada vez. 0:01:49.239,0:02:00.930 Y ahora dentro, hacemos el cálculo y lo[br]guardamos en una variable. que será tres veces[br]365 por el número de años. 0:02:00.930,0:02:12.862 Bien, ahora que tenemos la función, voy a[br]reemplazar esta expresión por calcTotalDonuts (la[br]llamada a la función) con el parámetro "2". 0:02:12.862,0:02:17.427 Bien, pero ahora no vemos ningún resultado. 0:02:17.427,0:02:26.515 ¿Qué ha ocurrido? Vale, nuestra función calculó[br]el total, pero no le pasó el dato a nadie. 0:02:26.515,0:02:33.824 Es como si un profesor te pregunta y sabes[br]la respuesta, pero eres tan tímido que no la dices. 0:02:33.824,0:02:37.638 Has hecho el trabajo, pero tu profesor[br]nunca lo sabrá. 0:02:37.638,0:02:45.971 Si queremos que la función informe a quien la[br]llama, debe devolver el valor de forma explícita. 0:02:45.971,0:02:55.221 Para que una función devuelva el resultado,[br]escribiremos "return" y lo que debe devolver:[br]una variable, un valor o una expresión. 0:02:55.221,0:03:02.138 así que pondremos "return totalDonuts". Con[br]lo que al llamar a esta función dará este valor. 0:03:02.138,0:03:05.021 ¡Ahora se muestra nuestro resultado! 0:03:05.021,0:03:10.477 Realmente podemos abreviar la función, sin[br]siquiera usar una variable, poniendo la expresión 0:03:10.477,0:03:15.418 con "return" y ya sólo es una línea. Vale. 0:03:15.418,0:03:24.558 Bien, ahora podemos seguir y calcular el[br]total de dónuts en cada momento llamando a[br]la función y pasándole el número de años. 0:03:24.558,0:03:36.426 Veamos, calcTotalDonuts(25), en la posición[br]correcta, calcTotalDonuts(65). 0:03:36.426,0:03:45.239 ¡Bien! Esto hace que a los 65 haya comido[br]70 000 dónuts. ¡Es un montón de dónuts! 0:03:45.239,0:03:48.351 No creo que Winston lo consiga. [risas] 0:03:48.351,0:03:53.325 Pero ahora que hemos creado una función,[br]es muy fácil cambiarla. 0:03:53.325,0:03:59.211 Si Winston lo ve y dice "¡Vaya! Es mucho.[br]¿Qué tal si sólo como uno al día?" 0:03:59.211,0:04:04.432 Bien, sólo tenemos que ir aquí, cambiar[br]este número, y ver cómo todo cambia. 0:04:04.432,0:04:12.698 Ahora son 23 000. Todavía muchos. Así que[br]Winston puede decir "¡Vale! ¿Y si sólo tomo [br]uno por semana?". Sí, eso es razonable. 0:04:12.698,0:04:17.793 Sólo tenemos que cambiar 365 por 50, ya[br]que hay unas 50 semanas en un año, ¿vale? 0:04:17.793,0:04:23.361 Bien, esto es mucho mejor. 3 000 dónuts[br]parece razonable. 0:04:23.361,0:04:27.361 Como veis, con funciones y resultados[br]podemos ahorrar código y salvar vidas.