1
resposta

Variável sobre variável

Olá, a minha dúvida é a seguinte:

Na aula 6 de "Torne seu programa dinâmico com variáveis" eu vi que o Profº Flávio colocou a as linhas da seguinte maneira

var ano = 2016;

document.write("Flávio tem " + (ano - 1977) + " anos");
document.write("<br>");
document.write("Joaquim tem " + (ano - 1976) + " anos");
document.write("<br>");

ano = 2017;
document.write("Barney tem " + (ano - 1976) + " anos");
document.write("<br>");
var idadeFlavio = 39;
var idadeJoaquim = 20;
var idadeBarney = 41;

var media = (idadeFlavio + idadeJoaquim + idadeBarney)/3;

Minha dúvida é a seguinte, no caso das linhas em que há o cálculo das idades, onde está dizendo:

document.write("Flávio tem " + (ano - 1977) + " anos"); 

o resultado desse cálculo só será visível quando eu rodar o programa em um navegador, correto? Então na hora de programa, como eu poderia saber o valor da variável:

var idadeFlavio = 39
`

?

Eu gostaria de saber se há como eu pegar resultado da linha "ano - 1977" e transformar esse resultado numa variável, como por exemplo:

var = ano - 1977
ou fazer com que o resultado se torne uma variável diferente, como por exemplo
var ano - 1977 = idadeEm2016

E então pegar o resultado dessa variável e aplicar direto na variável

idadeFlaveio = idadeEm2016

E automatizar isso para os próximos anos?

Resumindo: Da forma como foi descrito o programa, me da a impressão de que eu terei que fazer o calculo, rodar o programa no navegador, pegar o resultado, voltar para a linha de programação, colocar o resultado na outra variável e então obter o resultado da média de idades.

Existe uma forma de automatizar isso fazendo com que o resultado do primeiro cálculo já se torne uma variável que vai entrar no segundo cálculo?

1 resposta

Olá Fernanda, tudo bem com você?

Realmente, esse trecho da aula pode ter ficado um pouco confuso. O valor 39 pegamos do resultado da execução do programa anterior, mas a ideia de armazenar o resultado da conta numa variável faz total sentido! Que tal pegarmos a subtração da data de nascimento pelo ano atual e armazenar o resultado em uma variável?

var ano = 2016;

var idadeFlavio= ano - 1977;
var idadeJoaquim = ano - 1996;

document.write("Flávio tem " + idadeFlavio + " anos");
document.write("<br>");
document.write("Joaquim tem " + idadeJoaquim + " anos");
document.write("<br>");

Perceba que dessa forma é possível imprimir as idades passando apenas a variáveis que armazenam os resultados! Dessa forma, podemos até retirar as declarações das idades mais a frente no código e sempre que quisermos recuperar suas idades, basta mudar o valor da variável ano:

var ano = 2016;

var idadeFlavio = ano - 1977;
var idadeJoaquim = ano - 1996;

document.write("Flávio tem " + idadeFlavio + " anos");
document.write("<br>");
document.write("Joaquim tem " + idadeJoaquim + " anos");
document.write("<br>");

ano = 2017;

var idadeBarney = ano - 1976;

document.write("Barney tem " + idadeBarney + " anos");
document.write("<br>");

var media = (idadeFlavio + idadeJoaquim + idadeBarney)/3;

Testa aí e depois me diz o que achou!

Abraços e bons estudos!!