Trilhas
/
JavaScript
JavaScript
/
Exercícios
/
Observador de pássaros
Observador de pássaros

Observador de pássaros

Exercício de aprendizagem

Introdução

O laço for é uma das instruções mais usadas para executar alguma lógica repetidamente. Em JavaScript, ele é formado pela palavra-chave for, um cabeçalho entre parênteses e um bloco de código que contém o corpo do laço entre chaves.

for (initialization; condition; step) {
  // code that is executed repeatedly as long as the condition is true
}

A inicialização normalmente define uma variável contadora, a condição verifica se o laço deve continuar ou parar e o passo incrementa o contador ao final de cada repetição. As partes individuais do cabeçalho são separadas por ponto e vírgula.

const list = ['a', 'b', 'c'];
for (let i = 0; i < list.length; i++) {
  // code that should be executed for each item list[i]
}

Definir o passo costuma ser feito com os operadores de incremento e decremento do JavaScript, como mostra o exemplo acima. Esses operadores modificam uma variável diretamente. ++ soma um a um número, -- subtrai um de um número.

let i = 3;
i++;
// i is now 4

let j = 0;
j--;
// j is now -1

Instruções

Você é um observador de aves dedicado que acompanha quantas aves visitaram o seu jardim. Normalmente, você usa uma marcação em um caderno para contar as aves, mas você quer trabalhar melhor com os seus dados. Você já digitalizou as contagens de aves por dia das últimas semanas que guardou no caderno.

Agora você quer determinar o número total de aves que contou, calcular a contagem de aves de uma semana específica e corrigir um erro de contagem.

Note

Para praticar, use um laço for para resolver cada uma das tarefas abaixo.

1. Determine o número total de aves que você contou até agora

Vamos começar analisando os dados com uma visão geral. Descubra quantas aves você contou no total desde que começou os seus registros.

Implemente uma função totalBirdCount que aceita um objeto do tipo array que contém a contagem de aves por dia. Ela deve retornar o número total de aves que você contou.

birdsPerDay = [2, 5, 0, 7, 4, 1, 3, 0, 2, 5, 0, 1, 3, 1];
totalBirdCount(birdsPerDay);
// => 34

2. Calcule o número de aves visitantes em uma semana específica

Agora que você tem uma noção geral dos seus números de contagem de aves, você quer fazer uma análise mais detalhada.

Implemente uma função birdsInWeek que aceita um objeto do tipo array de contagens de aves por dia e um número de semana. Ela retorna o número total de aves que você contou nessa semana específica. Você pode assumir que as semanas são sempre registradas por completo.

birdsPerDay = [2, 5, 0, 7, 4, 1, 3, 0, 2, 5, 0, 1, 3, 1];
birdsInWeek(birdsPerDay, 2);
// => 12

3. Corrija um erro de contagem

Você percebeu que, todo o tempo em que tentava acompanhar as aves, havia uma se escondendo em um canto distante do jardim. Você descobriu que essa ave sempre passava dia sim, dia não no seu jardim. Você não sabe exatamente onde ela estava entre esses dias, mas com certeza não estava no seu jardim. Sua intuição de observador de aves também diz que a ave estava no seu jardim no primeiro dia que você registrou na sua lista.

Com essa nova informação, escreva uma função fixBirdCountLog que recebe um objeto do tipo array de aves contadas por dia como argumento. Ela deve corrigir o erro de contagem modificando o array fornecido.

birdsPerDay = [2, 5, 0, 7, 4, 1];
fixBirdCountLog(birdsPerDay);
// => [3, 5, 1, 7, 5, 1]
Editar via GitHub O link abre em uma nova janela ou aba
JavaScript Exercism

Tudo pronto para começar Observador de pássaros?

Crie sua conta no Exercism para aprender e dominar JavaScript com 37 conceitos159 exercícios e mentoria humana de verdade, tudo de graça.