-
Estamos de volta com nosso programa que
usa uma função que desenha Winston 4 vezes
-
E eu alterei ela para que seja exibido sua
idade em cada ponto da vida, logo veremos
-
Mas antes eu tenho que dizer algo:
Winston é viciado em donuts
-
Ele come 3 deles por dia. Deve ser por
isso que sua cara é grande e amarela.
-
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
-
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.
-
E nós vamos mostrar bem abaixo do cabeçalho, entao wow!
2 mil donuts, é muito donuts para 2 anos de idade
-
Agora que ele tem 14 anos, vamos ver,
3 vezes 135 vezes 14
-
E isto é 15 mil donuts. Tudo bem, eu poderia
continuar esta matemática, mas estou começando a perceber um padrão.
-
Estou repetindo meus cálculos aqui, só
estou mudando uma coisa: os anos
-
Sempre que eu ver códigos repetidos como este,
eu penso, "Hmm, posso transformar numa função?"
-
Yeah, definitivamente, podemos.
Então vamos fazer agora.
-
Definirei minha função aqui e chamarei
de calcTotalDonuts igual function
-
E ela receberá um parâmetro, o número de anos,
porque esta é a única coisa que muda sempre
-
E então dentro, nós calcularemos, e guardamos
numa variável, então será 3 vezes 365 vez numYears
-
Ok, agora que temos a função, vamos substituir a expressão
aqui com calcTotalDonuts - para chamar a função - passando 2.
-
Ok, nós não vemos o total.
-
Hmm, ok, o que aconteceu? Bem, nossa função
calculou o total, aqui, mas não disse pra ninguém qual foi o total
-
É 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.
-
Você fez o trabalho, mas seu professor
nunca saberá
-
Se quisermos que a função comunique-se com quem a chamou,
a função deve explicitamente retornar o valor
-
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.
-
então aqui vamos colocar return totalDonuts, ok? Então quem chamar esta função
irá pegar esta resposta
-
E agora nosso valor é exibido, yay!
-
Agora podemos encurtar nossa função, nós nem precisamos guardar o valor numa variável, podemos simplesmente pegar esta expressão inteira.
-
colocar no return, e então ela só
terá uma linha, Linda.
-
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.
-
Um, vamos ver ,é calcTotalDonuts(25), posição correta, calcTotalDonuts(65)
-
Ok! Wow, então se ele fizer 65, terá comido 70.000 donuts.
É muito donuts.
-
Eu acho que Winston não conseguirá[risos]
-
Mas agora que fizemos numa função,
é realmente fácil alterar partes dela
-
Como se Winston olhasse e dissesse
"Woah, woah, é muito! E se eu comesse uma por dia?"
-
Ok, nós podemos vir aqui, alterar este número
e ver tudo mudar.
-
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.
-
Not Synced
Então, nós poderíamos alterar 365 para 50,
porque temos 50 semanas no ano, certo?
-
Not Synced
Ok, é muito melhor certo? 3.000 donuts,
parece razoável.
-
Not Synced
Ok, então se você ver, com funções e valores de retorno,
nós podemos salvar códigos e vidas