Ajuda - Função Incompleta

5 respostas Resolvido
J

Olá,
Boa noite!

Estou no seguinte enunciado tentando completar:
“Ah, mas isso não acaba aqui” - disse Ana “Eu quero saber em quantos meses houve lucro, ou seja, o saldo foi maior que zero” .
Complete a função quantidadeDeMesesComLucro.

Exemplo:

function quantidadeDeMesesComLucro(umPeriodo) {

let quantidade= ???;

for (let mes=0; mes< umPeriodo.length; mes++) {

???

}

return quantidade;

}
**E fiz o seguinte código:**

function quantidadeDeMesesComLucro(umPeriodo) {
  let quantidade= 0;
  for (let mes=0; mes< umPeriodo.length; mes++) {
    quantidade = quantidade + 1;
  }
  return quantidade;

E aparece os seguintes erros informando que a solução não passou completamente: 
quantidadeDeMesesComLucro([0, 0, 0]) é 0 
3 deepEqual 0

quantidadeDeMesesComLucro([10, -10, 2, 100]) é 3 
4 deepEqual 3

quantidadeDeMesesComLucro([-1, -2, -3]) é 0
3 deepEqual 0

Alguém pode me ajudar?
Grata!

5 Respostas

I

Você não está fazendo a verificação, ou seja, se o mês do período é menor que zero (prejuízo), mas tão simplesmente incrementando uma unidade à variável quantidade a cada iteração do laço for. Que tal assim?

function quantidadeDeMesesComLucro(umPeriodo){
	let quantidade = 0;
	
	for(let mes = 0; mes < umPeriodo.length; mes++){
		if(umPeriodo[mes] < 0)
			quantidade += 1;
	}
	
	return quantidade;
}
J

Olá,
Desta forma a plataforma voltou com os seguintes erros:

  • quantidadeDeMesesComLucro([1]) é 1
    0 deepEqual 1

  • quantidadeDeMesesComLucro([2, 20, 20]) é 3
    0 deepEqual 3

  • quantidadeDeMesesComLucro([10, -10, 2, 100]) é 3
    1 deepEqual 3

  • quantidadeDeMesesComLucro([-1, -2, -3]) é 0
    3 deepEqual 0

I
Solucao aceita

Verdade, por um lapso, eu troquei o lado da comparação, ou seja, é para calcular (contar) o lucro e não o prejuízo. O certo é:

umPeriodo[mes] > 0

V

Oi, você conseguiu responder todas? Estou presa em 3 questões pra poder acabar.

Exercício 18: Contagens

“Ah, mas isso não acaba aqui” - disse Ana “Eu quero saber em quantos meses houve lucro, ou seja, o saldo foi maior que zero” .

Complete a função quantidadeDeMesesComLucro . Se você prestar atenção, notará que tem uma estrutura semelhante ao problema anterior

Exemplo:

function quantidadeDeMesesComLucro(umPeriodo) {
  let quantidade= ????;
  for (let mes=0; mes< umPeriodo.length; mes++) {
    ????
  }
  return quantidade;
}

Exercício 19: Mais contagens

Ana, vendo que somos tão produtivos, nos perguntou algo mais: agora ela quer saber quantos meses de um período houve perda.

Dizemos que há uma perda em um período em que o saldo é menor que zero.

Escreva a função quantidadeDeMesesComPerda . A estrutura da função é semelhante às que temos feito, vamos lá!

Escreva a função quantidadeDeMesesComPerda . A estrutura da função é semelhante às que temos feito, vamos lá!

function quantidadeDeMesesComPerda(umPeriodo) {

let quantidade= 1;

for (let mes=0; mes< umPeriodo.length; mes++) {

}

return quantidade;

}

Exercício 20: Filtrados

Bem na hora! , Ana nos deixou com um problema mais interessante: quer saber o saldo dos meses com lucro .

saldosDeMesesComLucro([100, 20, 0, -10, 10])
[100, 20, 10]

Complete a função saldoDeMesesComLucro . Novamente tem uma estrutura similar com os problemas anteriores, porém não tão rápido! Esta função precisa retornar um array .

A
<strong>18)</strong>

function quantidadeDeMesesComLucro(umPeriodo){

let quantidade = 0;

for(let mes = 0; mes < umPeriodo.length; mes++){

if(umPeriodo[mes] > 0)

quantidade += 1;

}

return quantidade;

}

<strong>19)</strong>

function quantidadeDeMesesComPerda(umPeriodo)

{

return umPeriodo.reduce((acumulador,valorAtual)=>

{return (valorAtual <0)? acumulador +1:acumulador;},0);

}
<strong>20)</strong>

function saldoDeMesesComLucro(umPeriodo)

{

var arrayMesesLucro = [];

var filtro = umPeriodo.filter(positivo);

for (let mes=0; mes< umPeriodo.length; mes++)

{arrayMesesLucro[mes] = filtro[mes];}

return filtro;

}

function positivo(valor) {return valor > 0;}

Criado 30 de novembro de 2019
Ultima resposta 24 de dez. de 2019
Respostas 5
Participantes 4