Faça um algoritmo que leia 20 números e, ao final, escreva quantos estão entre 0 e 100 , quantos estão entre 101 e 200 e quantos são maiores de 200.

Passo 1

O que o enunciado pede:\n
  • Ler 20 números fornecidos pelo usuário.\n
  • Ao final, escrever quantos desses números estão entre 0 e 100, quantos estão entre 101 e 200 e quantos são maiores que 200.\n
    Informações relevantes dadas pelo enunciado:\n
  • Número de entradas: 20.\n
  • Três categorias a contar: [0,100], [101,200] e >200.\n
    Observação (importante para a implementação): o enunciado não especifica se as faixas são inclusivas, mas vou interpretar as faixas como [0,100] e [101,200] (ou seja, 0 e 100 pertencem à primeira faixa, 101 e 200 pertencem à segunda) e a terceira é estritamente >200. Números fora dessas faixas (por exemplo negativos ou 100{,}5) não serão contados em nenhuma das três categorias conforme essa interpretação.

Passo 2

Escolhendo a estratégia (explicação didática e simples):\n
  • Vamos percorrer as 20 leituras uma a uma (isso é um laço ou loop) e, para cada número lido, decidir em qual das três categorias ele se encaixa usando testes condicionais (if/else).\n
  • Para contabilizar quantos caem em cada categoria usamos contadores — variáveis que guardam quantos já foram encontrados de cada tipo. Cada vez que um número entra numa categoria, incrementamos o contador correspondente em 1.\n
    Conceitos usados e o que significam (explicação curta e prática):\n
  • Loop (laço): repetir uma ação um número conhecido de vezes; aqui repetir a leitura 20 vezes.\n
  • Condicional (if/else): verificar uma condição (por exemplo 0 \le x \le 100) e executar uma ação se for verdadeira.\n
  • Contador: variável inteira que começa em 0 e é aumentada com a operação c \leftarrow c + 1 quando encontramos um elemento da categoria.

Passo 3

Definindo as variáveis que usaremos (explique o que cada uma faz):\n
  • c_1: contador de números em [0,100].\n
  • c_2: contador de números em [101,200].\n
  • c_3: contador de números em >200.\n
  • i: variável de controle do laço (vai de 1 até 20).\n
  • x: variável que guarda o número lido em cada iteração.\n
    Sempre que eu escrever algo como c_1 \leftarrow 0 significa “atribua o valor 0 à variável c_1”.

Passo 4

Inicialização (por que e como):\n
  • Antes de começar a ler os números, inicializamos todos os contadores com 0:\n
    c_1 \leftarrow 0\n
    c_2 \leftarrow 0\n
    c_3 \leftarrow 0\n
    Explicação: se não inicializarmos, os contadores podem conter lixo (valores indefinidos). Inicializar em 0 significa que antes de ler qualquer número nós já sabemos que não encontramos nenhum exemplo de cada categoria.

Passo 5

Estrutura do laço e leitura (passo a passo do que acontece em cada iteração):\n
  • Vamos fazer um laço para i de 1 até 20.\n
  • Em cada iteração:\n
    1. Ler o número e armazená-lo em x.\n
    2. Testar as condições na ordem abaixo e incrementar exatamente um contador quando a condição for satisfeita:\n
      • se 0 \le x \le 100 então fazer c_1 \leftarrow c_1 + 1;\n
      • senão se 101 \le x \le 200 então fazer c_2 \leftarrow c_2 + 1;\n
      • senão se x > 200 então fazer c_3 \leftarrow c_3 + 1.\n
  • Observação sobre a ordem e o uso de “senão se”: usar “senão se” (else if) evita contagens duplas. Cada número deve ser testado até encaixar em uma das condições; ao entrar numa condição, as restantes não são testadas para aquele número.

Passo 6

O que acontece com números que não caem em nenhuma faixa?\n
  • Se um número for negativo ou estiver entre 100 e 101 (por exemplo 100{,}5), segundo a nossa interpretação ele não será contado em nenhuma das três categorias. Isso é coerente com as faixas escolhidas [0,100], [101,200] e >200.\n
  • Se preferir cobrir todos os reais sem lacunas, poderíamos usar faixas como [0,100], (100,200] e >200 ou [0,100], [101,200] e dois intervalos adicionais, mas seguirei a interpretação que expliquei no Passo 1 porque é a mais direta com o enunciado.

Passo 7

Como apresentar o resultado ao final (formato de saída):\n
  • Depois de terminar o laço, mostramos os três contadores.\n
  • Um formato simples e claro (em português) é:\n
    Quantidade em [0,100]: c_1\n
    Quantidade em [101,200]: c_2\n
    Quantidade >200: c_3\n
    Isso é direto para a pessoa que recebe a saída — ela verá quantos números caíram em cada faixa.

Passo 8

Exemplo rápido (para fixar):\n
Suponha que, em vez de 20, eu pegue apenas 5 leituras para ilustrar o processo (o procedimento é idêntico para 20). Considere as leituras: x=50, x=150, x=250, x=-3, x=100.\n
  • Inicialmente c_1=0, c_2=0, c_3=0.\n
  • x=50 entra em [0,100] c_1=1.\n
  • x=150 entra em [101,200] c_2=1.\n
  • x=250 entra em >200 c_3=1.\n
  • x=-3 não entra em nenhuma faixa → nada muda.\n
  • x=100 entra em [0,100] c_1=2.\n
    Resultado final do exemplo: c_1=2, c_2=1, c_3=1.\n
    No problema real você faz a mesma coisa, só que com 20 leituras em vez de 5.

Passo 9

Agora, o algoritmo completo em pseudocódigo (esse é o que você pode implementar em qualquer linguagem, segue exatamente a lógica que explicamos):\n
Inicialize c_1 \leftarrow 0, c_2 \leftarrow 0, c_3 \leftarrow 0\n
Para i de 1 até 20 faça\n
\quad Leia x\n
\quad Se 0 \le x \le 100 então\n
\quad\quad c_1 \leftarrow c_1 + 1\n
\quad Senão se 101 \le x \le 200 então\n
\quad\quad c_2 \leftarrow c_2 + 1\n
\quad Senão se x > 200 então\n
\quad\quad c_3 \leftarrow c_3 + 1\n
\quad Fim se\n
Fim para\n
Escreva “Quantidade em [0,100]:”, c_1\n
Escreva “Quantidade em [101,200]:”, c_2\n
Escreva “Quantidade >200:”, c_3

Resposta

Inicialize c_1 \leftarrow 0, c_2 \leftarrow 0, c_3 \leftarrow 0\n
Para i de 1 até 20 faça\n
\quad Leia x\n
\quad Se 0 \le x \le 100 então\n
\quad\quad c_1 \leftarrow c_1 + 1\n
\quad Senão se 101 \le x \le 200 então\n
\quad\quad c_2 \leftarrow c_2 + 1\n
\quad Senão se x > 200 então\n
\quad\quad c_3 \leftarrow c_3 + 1\n
\quad Fim se\n
Fim para\n
Escreva “Quantidade em [0,100]:”, c_1\n
Escreva “Quantidade em [101,200]:”, c_2\n
Escreva “Quantidade >200:”, c_3

Exercícios relacionados