Percursos
/
JavaScript
JavaScript
/
Exercícios
/
Observador de aves
Observador de aves

Observador de aves

Exercício de aprendizagem

Introdução

O ciclo for é uma das instruções mais usadas para executar repetidamente alguma lógica. Em JavaScript, é composto pela palavra-chave for, um cabeçalho entre parênteses curvos (()) e um bloco de código entre chavetas ({}) que contém o corpo do ciclo.

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

A inicialização normalmente cria uma variável contadora, a condição verifica se o ciclo deve continuar ou parar e o passo incrementa o contador no fim de cada repetição. As partes individuais do cabeçalho são separadas por pontos e vírgulas.

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 é muitas vezes feito com o operador de incremento ou decremento do JavaScript, como mostra o exemplo acima. Estes operadores modificam uma variável no próprio local. ++ soma uma unidade a um número, -- subtrai uma unidade a um número.

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

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

Instruções

És um observador de aves dedicado que acompanha quantas aves visitaram o teu jardim. Normalmente, usas riscos num caderno para contar as aves, mas queres trabalhar melhor com os teus dados. Já digitalizaste as contagens de aves por dia das últimas semanas que registaste no caderno.

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

Note

Para praticar, usa um ciclo for para resolver cada uma das tarefas abaixo.

1. Determina o número total de aves que contaste até agora

Vamos começar por analisar os dados para ter uma visão geral. Descobre quantas aves contaste no total desde que começaste os teus registos.

Implementa uma função totalBirdCount que aceita um objeto do tipo array que contém a contagem de aves por dia. Deve devolver o número total de aves que contaste.

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

2. Calcula o número de aves que visitaram o jardim numa determinada semana

Agora que já tens uma noção geral dos teus números de contagem de aves, queres fazer uma análise mais detalhada.

Implementa uma função birdsInWeek que aceita um objeto do tipo array com a contagem de aves por dia e um número de semana. Devolve o número total de aves que contaste nessa semana específica. Podes assumir que as semanas são sempre registadas por completo.

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

3. Corrige um erro de contagem

Deste-te conta de que, durante todo o tempo em que estiveste a tentar acompanhar as aves, havia uma escondida num canto distante do jardim. Descobriste que esta ave estava sempre no teu jardim dia sim, dia não. Não sabes ao certo onde estava nos dias intercalares, mas de certeza que não era no teu jardim. A tua intuição de observador de aves também te diz que a ave estava no teu jardim no primeiro dia que registaste na tua lista.

Com esta nova informação, escreve uma função fixBirdCountLog que recebe como argumento um objeto do tipo array com as aves contadas por dia. Deve corrigir o erro de contagem ao alterar o array fornecido.

birdsPerDay = [2, 5, 0, 7, 4, 1];
fixBirdCountLog(birdsPerDay);
// => [3, 5, 1, 7, 5, 1]
Editar via GitHub A ligação abre numa nova janela ou separador
JavaScript Exercism

Estás pronto para começar Observador de aves?

Inscreve-te no Exercism para aprenderes e dominares JavaScript com 37 conceitos159 exercícios, e mentoria humana real, tudo grátis.