0:00:00.981,0:00:05.860 Estamos de volta com nosso programa que [br]usa uma função que desenha Winston 4 vezes 0:00:05.860,0:00:11.472 E eu alterei ela para que seja exibido sua[br]idade em cada ponto da vida, logo veremos 0:00:11.472,0:00:16.290 Mas antes eu tenho que dizer algo:[br]Winston é viciado em donuts 0:00:16.290,0:00:21.954 Ele come 3 deles por dia. Deve ser por [br]isso que sua cara é grande e amarela. 0:00:21.954,0:00:32.120 Então, para alertar como os donuts são ruins para ele.[br]E vou modificar este programa para mostrar quantos donuts ele comeu em cada ponto de sua vida 0:00:32.120,0:00:46.119 Por exemplo, quando ele tinha 2 anos, significa que ele comeu 3 vezes 365 vezes 2.[br]3 por dia, vezes 365 dias, vezes 2 anos. 0:00:46.119,0:00:54.669 E nós vamos mostrar bem abaixo do cabeçalho, entao wow![br]2 mil donuts, é muito donuts para 2 anos de idade 0:00:54.669,0:01:04.272 Agora que ele tem 14 anos, vamos ver, [br]3 vezes 135 vezes 14 0:01:04.272,0:01:13.455 E isto é 15 mil donuts. Tudo bem, eu poderia[br]continuar esta matemática, mas estou começando a perceber um padrão. 0:01:13.455,0:01:20.784 Estou repetindo meus cálculos aqui, só[br]estou mudando uma coisa: os anos 0:01:20.784,0:01:28.116 Sempre que eu ver códigos repetidos como este,[br]eu penso, "Hmm, posso transformar numa função?" 0:01:28.116,0:01:33.095 Yeah, definitivamente, podemos.[br]Então vamos fazer agora. 0:01:33.095,0:01:41.006 Definirei minha função aqui e chamarei[br]de calcTotalDonuts igual function 0:01:41.006,0:01:49.239 E ela receberá um parâmetro, o número de anos,[br]porque esta é a única coisa que muda sempre 0:01:49.239,0:02:00.930 E então dentro, nós calcularemos, e guardamos[br]numa variável, então será 3 vezes 365 vez numYears 0:02:00.930,0:02:12.862 Ok, agora que temos a função, vamos substituir a expressão [br]aqui com calcTotalDonuts - para chamar a função - passando 2. 0:02:12.862,0:02:17.427 Ok, nós não vemos o total. 0:02:17.427,0:02:26.515 Hmm, ok, o que aconteceu? Bem, nossa função [br]calculou o total, aqui, mas não disse pra ninguém qual foi o total 0:02:26.515,0:02:33.824 É como se um professor perguntasse algo para você [br]e a resposta estivesse em sua cabeça, mas você é muito tímido pra dizer a resposta. 0:02:33.824,0:02:37.638 Você fez o trabalho, mas seu professor [br]nunca saberá 0:02:37.638,0:02:45.971 Se quisermos que a função comunique-se com quem a chamou, [br]a função deve explicitamente retornar o valor 0:02:45.971,0:02:55.221 Para a função retornar um valor, precisamos escrever return, e então o que quisermos retornar.[br]Talvez seja uma variável ou o resultado de uma expressão. 0:02:55.221,0:03:02.138 então aqui vamos colocar return totalDonuts, ok? Então quem chamar esta função[br]irá pegar esta resposta 0:03:02.138,0:03:05.021 E agora nosso valor é exibido, yay! 0:03:05.021,0:03:10.477 Agora podemos encurtar nossa função, nós nem precisamos guardar o valor numa variável, podemos simplesmente pegar esta expressão inteira. 0:03:10.477,0:03:15.418 colocar no return, e então ela só [br]terá uma linha, Linda. 0:03:15.418,0:03:24.558 Ok, agora podemos prosseguir e calcular o total de donuts em cada ponto da vida chamando esta função e passando o numéro de anos. 0:03:24.558,0:03:36.426 Um, vamos ver ,é calcTotalDonuts(25), posição correta, calcTotalDonuts(65) 0:03:36.426,0:03:45.239 Ok! Wow, então se ele fizer 65, terá comido 70.000 donuts.[br]É muito donuts. 0:03:45.239,0:03:48.351 Eu acho que Winston não conseguirá[risos] 0:03:48.351,0:03:53.325 Mas agora que fizemos numa função, [br]é realmente fácil alterar partes dela 0:03:53.325,0:03:59.211 Como se Winston olhasse e dissesse [br]"Woah, woah, é muito! E se eu comesse uma por dia?" 0:03:59.211,0:04:04.432 Ok, nós podemos vir aqui, alterar este número[br]e ver tudo mudar. 0:04:04.432,0:04:12.698 Então será 23.000.Ainda é muito. Então talvez Winston diga "Ok, ok, e se eu tivesse uma por dia?[br]Yeah, isto é razoável, ok. 9:59:59.000,9:59:59.000 Então, nós poderíamos alterar 365 para 50, [br]porque temos 50 semanas no ano, certo? 9:59:59.000,9:59:59.000 Ok, é muito melhor certo? 3.000 donuts, [br]parece razoável. 9:59:59.000,9:59:59.000 Ok, então se você ver, com funções e valores de retorno, [br]nós podemos salvar códigos e vidas