[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:00.98,0:00:05.86,Default,,0000,0000,0000,,Estamos de volta com nosso programa que \Nusa uma função que desenha Winston 4 vezes Dialogue: 0,0:00:05.86,0:00:11.47,Default,,0000,0000,0000,,E eu alterei ela para que seja exibido sua\Nidade em cada ponto da vida, logo veremos Dialogue: 0,0:00:11.47,0:00:16.29,Default,,0000,0000,0000,,Mas antes eu tenho que dizer algo:\NWinston é viciado em donuts Dialogue: 0,0:00:16.29,0:00:21.95,Default,,0000,0000,0000,,Ele come 3 deles por dia. Deve ser por \Nisso que sua cara é grande e amarela. Dialogue: 0,0:00:21.95,0:00:32.12,Default,,0000,0000,0000,,Então, para alertar como os donuts são ruins para ele.\NE vou modificar este programa para mostrar quantos donuts ele comeu em cada ponto de sua vida Dialogue: 0,0:00:32.12,0:00:46.12,Default,,0000,0000,0000,,Por exemplo, quando ele tinha 2 anos, significa que ele comeu 3 vezes 365 vezes 2.\N3 por dia, vezes 365 dias, vezes 2 anos. Dialogue: 0,0:00:46.12,0:00:54.67,Default,,0000,0000,0000,,E nós vamos mostrar bem abaixo do cabeçalho, entao wow!\N2 mil donuts, é muito donuts para 2 anos de idade Dialogue: 0,0:00:54.67,0:01:04.27,Default,,0000,0000,0000,,Agora que ele tem 14 anos, vamos ver, \N3 vezes 135 vezes 14 Dialogue: 0,0:01:04.27,0:01:13.46,Default,,0000,0000,0000,,E isto é 15 mil donuts. Tudo bem, eu poderia\Ncontinuar esta matemática, mas estou começando a perceber um padrão. Dialogue: 0,0:01:13.46,0:01:20.78,Default,,0000,0000,0000,,Estou repetindo meus cálculos aqui, só\Nestou mudando uma coisa: os anos Dialogue: 0,0:01:20.78,0:01:28.12,Default,,0000,0000,0000,,Sempre que eu ver códigos repetidos como este,\Neu penso, "Hmm, posso transformar numa função?" Dialogue: 0,0:01:28.12,0:01:33.10,Default,,0000,0000,0000,,Yeah, definitivamente, podemos.\NEntão vamos fazer agora. Dialogue: 0,0:01:33.10,0:01:41.01,Default,,0000,0000,0000,,Definirei minha função aqui e chamarei\Nde calcTotalDonuts igual function Dialogue: 0,0:01:41.01,0:01:49.24,Default,,0000,0000,0000,,E ela receberá um parâmetro, o número de anos,\Nporque esta é a única coisa que muda sempre Dialogue: 0,0:01:49.24,0:02:00.93,Default,,0000,0000,0000,,E então dentro, nós calcularemos, e guardamos\Nnuma variável, então será 3 vezes 365 vez numYears Dialogue: 0,0:02:00.93,0:02:12.86,Default,,0000,0000,0000,,Ok, agora que temos a função, vamos substituir a expressão \Naqui com calcTotalDonuts - para chamar a função - passando 2. Dialogue: 0,0:02:12.86,0:02:17.43,Default,,0000,0000,0000,,Ok, nós não vemos o total. Dialogue: 0,0:02:17.43,0:02:26.52,Default,,0000,0000,0000,,Hmm, ok, o que aconteceu? Bem, nossa função \Ncalculou o total, aqui, mas não disse pra ninguém qual foi o total Dialogue: 0,0:02:26.52,0:02:33.82,Default,,0000,0000,0000,,É como se um professor perguntasse algo para você \Ne a resposta estivesse em sua cabeça, mas você é muito tímido pra dizer a resposta. Dialogue: 0,0:02:33.82,0:02:37.64,Default,,0000,0000,0000,,Você fez o trabalho, mas seu professor \Nnunca saberá Dialogue: 0,0:02:37.64,0:02:45.97,Default,,0000,0000,0000,,Se quisermos que a função comunique-se com quem a chamou, \Na função deve explicitamente retornar o valor Dialogue: 0,0:02:45.97,0:02:55.22,Default,,0000,0000,0000,,Para a função retornar um valor, precisamos escrever return, e então o que quisermos retornar.\NTalvez seja uma variável ou o resultado de uma expressão. Dialogue: 0,0:02:55.22,0:03:02.14,Default,,0000,0000,0000,,então aqui vamos colocar return totalDonuts, ok? Então quem chamar esta função\Nirá pegar esta resposta Dialogue: 0,0:03:02.14,0:03:05.02,Default,,0000,0000,0000,,E agora nosso valor é exibido, yay! Dialogue: 0,0:03:05.02,0:03:10.48,Default,,0000,0000,0000,,Agora podemos encurtar nossa função, nós nem precisamos guardar o valor numa variável, podemos simplesmente pegar esta expressão inteira. Dialogue: 0,0:03:10.48,0:03:15.42,Default,,0000,0000,0000,,colocar no return, e então ela só \Nterá uma linha, Linda. Dialogue: 0,0:03:15.42,0:03:24.56,Default,,0000,0000,0000,,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. Dialogue: 0,0:03:24.56,0:03:36.43,Default,,0000,0000,0000,,Um, vamos ver ,é calcTotalDonuts(25), posição correta, calcTotalDonuts(65) Dialogue: 0,0:03:36.43,0:03:45.24,Default,,0000,0000,0000,,Ok! Wow, então se ele fizer 65, terá comido 70.000 donuts.\NÉ muito donuts. Dialogue: 0,0:03:45.24,0:03:48.35,Default,,0000,0000,0000,,Eu acho que Winston não conseguirá[risos] Dialogue: 0,0:03:48.35,0:03:53.32,Default,,0000,0000,0000,,Mas agora que fizemos numa função, \Né realmente fácil alterar partes dela Dialogue: 0,0:03:53.32,0:03:59.21,Default,,0000,0000,0000,,Como se Winston olhasse e dissesse \N"Woah, woah, é muito! E se eu comesse uma por dia?" Dialogue: 0,0:03:59.21,0:04:04.43,Default,,0000,0000,0000,,Ok, nós podemos vir aqui, alterar este número\Ne ver tudo mudar. Dialogue: 0,0:04:04.43,0:04:12.70,Default,,0000,0000,0000,,Então será 23.000.Ainda é muito. Então talvez Winston diga "Ok, ok, e se eu tivesse uma por dia?\NYeah, isto é razoável, ok. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,Então, nós poderíamos alterar 365 para 50, \Nporque temos 50 semanas no ano, certo? Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,Ok, é muito melhor certo? 3.000 donuts, \Nparece razoável. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,Ok, então se você ver, com funções e valores de retorno, \Nnós podemos salvar códigos e vidas