1 00:00:00,981 --> 00:00:05,860 Estamos de volta com nosso programa que usa uma função que desenha Winston 4 vezes 2 00:00:05,860 --> 00:00:11,472 E eu alterei ela para que seja exibido sua idade em cada ponto da vida, logo veremos 3 00:00:11,472 --> 00:00:16,290 Mas antes eu tenho que dizer algo: Winston é viciado em donuts 4 00:00:16,290 --> 00:00:21,954 Ele come 3 deles por dia. Deve ser por isso que sua cara é grande e amarela. 5 00:00:21,954 --> 00:00:32,120 Então, para alertar como os donuts são ruins para ele. E vou modificar este programa para mostrar quantos donuts ele comeu em cada ponto de sua vida 6 00:00:32,120 --> 00:00:46,119 Por exemplo, quando ele tinha 2 anos, significa que ele comeu 3 vezes 365 vezes 2. 3 por dia, vezes 365 dias, vezes 2 anos. 7 00:00:46,119 --> 00:00:54,669 E nós vamos mostrar bem abaixo do cabeçalho, entao wow! 2 mil donuts, é muito donuts para 2 anos de idade 8 00:00:54,669 --> 00:01:04,272 Agora que ele tem 14 anos, vamos ver, 3 vezes 135 vezes 14 9 00:01:04,272 --> 00:01:13,455 E isto é 15 mil donuts. Tudo bem, eu poderia continuar esta matemática, mas estou começando a perceber um padrão. 10 00:01:13,455 --> 00:01:20,784 Estou repetindo meus cálculos aqui, só estou mudando uma coisa: os anos 11 00:01:20,784 --> 00:01:28,116 Sempre que eu ver códigos repetidos como este, eu penso, "Hmm, posso transformar numa função?" 12 00:01:28,116 --> 00:01:33,095 Yeah, definitivamente, podemos. Então vamos fazer agora. 13 00:01:33,095 --> 00:01:41,006 Definirei minha função aqui e chamarei de calcTotalDonuts igual function 14 00:01:41,006 --> 00:01:49,239 E ela receberá um parâmetro, o número de anos, porque esta é a única coisa que muda sempre 15 00:01:49,239 --> 00:02:00,930 E então dentro, nós calcularemos, e guardamos numa variável, então será 3 vezes 365 vez numYears 16 00:02:00,930 --> 00:02:12,862 Ok, agora que temos a função, vamos substituir a expressão aqui com calcTotalDonuts - para chamar a função - passando 2. 17 00:02:12,862 --> 00:02:17,427 Ok, nós não vemos o total. 18 00:02:17,427 --> 00:02:26,515 Hmm, ok, o que aconteceu? Bem, nossa função calculou o total, aqui, mas não disse pra ninguém qual foi o total 19 00:02:26,515 --> 00:02:33,824 É como se um professor perguntasse algo para você e a resposta estivesse em sua cabeça, mas você é muito tímido pra dizer a resposta. 20 00:02:33,824 --> 00:02:37,638 Você fez o trabalho, mas seu professor nunca saberá 21 00:02:37,638 --> 00:02:45,971 Se quisermos que a função comunique-se com quem a chamou, a função deve explicitamente retornar o valor 22 00:02:45,971 --> 00:02:55,221 Para a função retornar um valor, precisamos escrever return, e então o que quisermos retornar. Talvez seja uma variável ou o resultado de uma expressão. 23 00:02:55,221 --> 00:03:02,138 então aqui vamos colocar return totalDonuts, ok? Então quem chamar esta função irá pegar esta resposta 24 00:03:02,138 --> 00:03:05,021 E agora nosso valor é exibido, yay! 25 00:03:05,021 --> 00: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. 26 00:03:10,477 --> 00:03:15,418 colocar no return, e então ela só terá uma linha, Linda. 27 00:03:15,418 --> 00: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. 28 00:03:24,558 --> 00:03:36,426 Um, vamos ver ,é calcTotalDonuts(25), posição correta, calcTotalDonuts(65) 29 00:03:36,426 --> 00:03:45,239 Ok! Wow, então se ele fizer 65, terá comido 70.000 donuts. É muito donuts. 30 00:03:45,239 --> 00:03:48,351 Eu acho que Winston não conseguirá[risos] 31 00:03:48,351 --> 00:03:53,325 Mas agora que fizemos numa função, é realmente fácil alterar partes dela 32 00:03:53,325 --> 00:03:59,211 Como se Winston olhasse e dissesse "Woah, woah, é muito! E se eu comesse uma por dia?" 33 00:03:59,211 --> 00:04:04,432 Ok, nós podemos vir aqui, alterar este número e ver tudo mudar. 34 00:04:04,432 --> 00:04:12,698 Então será 23.000.Ainda é muito. Então talvez Winston diga "Ok, ok, e se eu tivesse uma por dia? Yeah, isto é razoável, ok. 35 99:59:59,999 --> 99:59:59,999 Então, nós poderíamos alterar 365 para 50, porque temos 50 semanas no ano, certo? 36 99:59:59,999 --> 99:59:59,999 Ok, é muito melhor certo? 3.000 donuts, parece razoável. 37 99:59:59,999 --> 99:59:59,999 Ok, então se você ver, com funções e valores de retorno, nós podemos salvar códigos e vidas