GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Loop FOR em Javascript

Tags: #<Tag:0x00007f4c2accc748> #<Tag:0x00007f4c2accc608> #<Tag:0x00007f4c2accc4a0> #<Tag:0x00007f4c2accc338>

Olá,

Preciso escrever uma função somar5MoedasDe25Centavos, que adiciona o valor de 5 moedas de 0,25 centavos e retorna o resultado. usando o loop FOR em Javascrip. Estou iniciando em Javascript.

Fiz a seguinte função:

var quantidadeMoedas = 5;
function somar5MoedasDe25Centavos(){
for(var i = 0; i < 5; i++) {
quantidadeMoedas = quantidadeMoedas + 0.25;
}
console.log(quantidadeMoedas)
}

Mas pra falar a verdade estou bem perdido. rsrs

Obrigado à todos e me desculpem caso eu não tenha postado a pergunta da forma correta.

Acho que vc está confundindo a quantidade de moedas com o valor de cada moeda. São 2 dados diferentes.

O mais correto seria algo assim:

function somar5MoedasDe25Centavos() {
  const quantidadeDeMoedas = 5;
  let valorTotal = 0;
  
  for (let i = 0; i < quantidadeDeMoedas; i++) {
    valorTotal = valorTotal + 0.25;
  }
  
  console.log(valorTotal);
}

No trecho acima eu usei a palavra-chave const para declarar quantidadeDeMoedas, pois é um valor que não vai mudar durante a execução do programa.

E ao invés de usar a palavra-chave var eu usei let, vc vai aprender a diferença entre as duas mais pra frente, por agora saiba apenas que é preferivel usar o let no lugar do var.

É importante notar que vc disse que sua função deveria retornar o resultado, mas do jeito que vc a implementou ela não está retornando nada. Pra ficar de acordo com seu requerimento, vc teria que fazer algo assim:

function somar5MoedasDe25Centavos() {
  const quantidadeDeMoedas = 5;
  let valorTotal = 0;
  
  for (let i = 0; i < quantidadeDeMoedas; i++) {
    valorTotal = valorTotal + 0.25;
  }
  
  return valorTotal;
}

console.log(somar5MoedasDe25Centavos());

Note o uso da palavra-chave return e o uso do console.log fora da função imprimindo o valor retornado por ela.

Com base no código acima, vc poderia criar uma função capaz de somar moedas de qualquer valor:

function somarMoedas(quantidadeDeMoedas, valorDaMoeda) {
  let valorTotal = 0;
  
  for (let i = 0; i < quantidadeDeMoedas; i++) {
    valorTotal = valorTotal + valorDaMoeda;
  }
  
  return valorTotal / 100;
}

console.log(somarMoedas(5, 25));
1 Curtida

@wldomiciano, muito obrigado, deu certo.
Só não sei o porque de não passarem o const e o let antes de solicitarem esse exercício.

1 Curtida

Vc está fazendo algum curso superior? Se sim é compreensivél, pela minha experiencia dificilmente vc vai encontrar um curso superior com informações atualizadas. const e let só apareceram no JavaScript a partir de 2015.

Se vc tiver tempo, acessa este site que tem material bem legal sobre tecnologias Web:

1 Curtida

Olá. Também estou fazendo esse curso, para quem não sabe nada, o bom é que eles vão por partes, sempre dando exemplos em cima de cada exercício. A solução que fiz e deu certo é esta aqui:
function somar5MoedasDe25Centavos() {
var quantidadeDeMoedas = 5;
var valorTotal = 0;

for (var i = 0; i < quantidadeDeMoedas; i++) {
valorTotal = valorTotal + 0.25;
}

return valorTotal;
}

//