Solucionado (ver solução)
Solucionado
(ver solução)
10
respostas

Exercício

Não entendi uma coisa, porque no exercício para calcular a média de idades do vídeo o professor usou a variável nas 3 pessoas? Podia ser feito do jeito do exercício fez?

Você tem chance de fazer diferente! Sugerir melhoria

Marco ficou chateado porque em sua prova de "Fundamentos da programação" marcou a opção errada que mostrava a reatribuição do valor de uma variável.

Faça diferente, marque a opção que reatribui corretamente o valor da variável mes:

10 respostas

Não entendi sua dúvida, poderia perguntar novamente para eu poder te ajudar?

Também não entendi Thiago. Se puder explicar com mais detalhes. Pode pecar pelo excesso de informação, nunca pela falta :)

Aguardo seu retorno.

No vídeo 3 a variável (var) foi usada para definir as idades de Flávio, Joaquim e Barney. Assim:

 <meta charset="UTF-8">

  <script>

  var ano = 2016;

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

  ano = 2017
  document.write(" Barney tem " + (ano -1976) + " anos" + "<br>");

  var idadeFlávio = 39;
  var idadeJoaquim = 20;
  var idadeBarney = 41;

  var media = (idadeFlávio + idadeJoaquim + idadeBarney)/3;

  document.write("A média das idades é " + Math.round(media));

   var nome = "Flávio" ;

  document.write("<br> A idade de " + nome + " é " + idadeFlávio);

  </script>

Agora neste exercício:

Marco ficou chateado porque em sua prova de "Fundamentos da programação" marcou a opção errada que mostrava a reatribuição do valor de uma variável.

Faça diferente, marque a opção que reatribui corretamente o valor da variável mes:

<meta charset="UTF-8">

<script>
    var mes = 6;
    document.write("Realizei a prova no mês " + mes);
    mes = 7;
    document.write("Não, desculpe, realizei a prova no mes " + mes);
</script>

Não foi utilizado a variável na linha 6 (mes = 7;).

A minha dúvida é. A variável do exercício do vídeo 3 pode ficar desse jeito?

  <meta charset="UTF-8">

  <script>

  var ano = 2016;

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

  ano = 2017
  document.write(" Barney tem " + (ano -1976) + " anos" + "<br>");

 idadeFlávio = 39;
 idadeJoaquim = 20;
 idadeBarney = 41;

   media = (idadeFlávio + idadeJoaquim + idadeBarney)/3;

  document.write("A média das idades é " + Math.round(media));

   nome = "Flávio" ;

  document.write("<br> A idade de " + nome + " é " + idadeFlávio);

  </script>

Oi Thiago, veja o código:

<meta charset="UTF-8">

<script>
    var mes = 6;
    document.write("Realizei a prova no mês " + mes);
    mes = 7;
    document.write("Não, desculpe, realizei a prova no mes " + mes);
</script>

A variável mês foi incializada, declarada com o valor 6 e foi usada na instrução seguinte. Depois, a variável mudou de valor, ou seja, ganhou um novo valor e quando é usada na próxima instrução seu valor '7. Sendo assim, a variável é usada sim.

Isso ficou claro? Vamos fechar isso primeiro antes de continuarmos.

Thiago, vi que está começando agora... Programação nunca tem um único jeito de fazer as coisas, para alcançar um objetivo você pode ter a resolução de diversas formas diferentes.

Ahhhhh entendi!

Não pode, apesar de funcionar. A regra é a seguinte: quando a variável aparece pela primeira vez no seu código ela deve começar com var. No exemplo que você alterou, você removeu o var mas é a primeira vez que a variável aparece no seu problema.

No meu exemplo do exercício, a variável mes só aparece sem var porque foi criada antes.

Em outras linguagem isso não é opcional. No JavaScript parece que é, mas quando você for evoluir na linguagem terá sérios problemas se não seguir esse padrão de quando for declarar pela primeira vez a variável utilizar var e quando for mudar seu valor não usar var.

Clareou?

solução!

Exemplos:

var nome = 'Flávio';
nome ='Almeida'; // a variável foi declarada com var antes, logo não preciso usar var!
nome = 'Flávio';
nome = 'Almeida'

Neste último exemplo não usarmos var na primeira vez que sua variável aparece no problema. Funciona em JavaScript, mas você não deveria fazer isso porque no futuro isso vai te dar uma rasteira. Como estamos em um curso de lógica, esse detalhe da linguagem fica para quando você for ser tornar um cangaceiro em Javascript.

Ajudou?

Complementando [Em outras linguagem isso não é opcional. No JavaScript parece que é, ] na verdade no JS isso vai criar uma variável Global em vez de uma variável local, e isso pode ser um problema muito sério.

Agora entendi Obrigado professor

Show Thiago! Olha, cai fundo dentro desse curso porque em breve, muito em breve terá um segundo módulo para você praticar, mas de maneira divertida. Não posso fazer spoilers :)