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
números fornecidos pelo usuário.\n - Ao final, escrever quantos desses números estão entre
e , quantos estão entre e e quantos são maiores que .\n
Informações relevantes dadas pelo enunciado:\n - Número de entradas:
.\n - Três categorias a contar:
, e .\n
Observação (importante para a implementação): o enunciado não especifica se as faixas são inclusivas, mas vou interpretar as faixas comoe (ou seja, e pertencem à primeira faixa, e pertencem à segunda) e a terceira é estritamente . Números fora dessas faixas (por exemplo negativos ou ) 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
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
.\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
vezes.\n - Condicional (if/else): verificar uma condição (por exemplo
) e executar uma ação se for verdadeira.\n - Contador: variável inteira que começa em
e é aumentada com a operação quando encontramos um elemento da categoria.
Passo 3
Definindo as variáveis que usaremos (explique o que cada uma faz):\n
-
: contador de números em .\n -
: contador de números em .\n -
: contador de números em .\n -
: variável de controle do laço (vai de até ).\n -
: variável que guarda o número lido em cada iteração.\n
Sempre que eu escrever algo comosignifica “atribua o valor à variável ”.
Passo 4
Inicialização (por que e como):\n
- Antes de começar a ler os números, inicializamos todos os contadores com
:\n
\n
\n
\n
Explicação: se não inicializarmos, os contadores podem conter lixo (valores indefinidos). Inicializar emsignifica 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
de até .\n - Em cada iteração:\n
- Ler o número e armazená-lo em
.\n - Testar as condições na ordem abaixo e incrementar exatamente um contador quando a condição for satisfeita:\n
- se
então fazer ;\n - senão se
então fazer ;\n - senão se
então fazer .\n
- se
- Ler o número e armazená-lo em
- 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
e (por exemplo ), segundo a nossa interpretação ele não será contado em nenhuma das três categorias. Isso é coerente com as faixas escolhidas , e .\n - Se preferir cobrir todos os reais sem lacunas, poderíamos usar faixas como
, e ou , 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]:\n
Quantidade em [101,200]:\n
Quantidade200: \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 , eu pegue apenas
leituras para ilustrar o processo (o procedimento é idêntico para
). Considere as leituras:
,
,
,
,
.\n
Suponha que, em vez de
- Inicialmente
, , .\n -
entra em → .\n -
entra em → .\n -
entra em → .\n -
não entra em nenhuma faixa → nada muda.\n -
entra em → .\n
Resultado final do exemplo:, , .\n
No problema real você faz a mesma coisa, só que comleituras em vez de .
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 ,
,
\n
Para de
até
faça\n
\quad Leia \n
\quad Se então\n
\quad\quad \n
\quad Senão se então\n
\quad\quad \n
\quad Senão se então\n
\quad\quad \n
\quad Fim se\n
Fim para\n
Escreva “Quantidade em [0,100]:”, \n
Escreva “Quantidade em [101,200]:”, \n
Escreva “Quantidade >200:”,
Inicialize
Para
\quad Leia
\quad Se
\quad\quad
\quad Senão se
\quad\quad
\quad Senão se
\quad\quad
\quad Fim se\n
Fim para\n
Escreva “Quantidade em [0,100]:”,
Escreva “Quantidade em [101,200]:”,
Escreva “Quantidade >200:”,
Resposta
Inicialize
,
,
\n
Para de
até
faça\n
\quad Leia \n
\quad Se então\n
\quad\quad \n
\quad Senão se então\n
\quad\quad \n
\quad Senão se então\n
\quad\quad \n
\quad Fim se\n
Fim para\n
Escreva “Quantidade em [0,100]:”, \n
Escreva “Quantidade em [101,200]:”, \n
Escreva “Quantidade >200:”,
Para
\quad Leia
\quad Se
\quad\quad
\quad Senão se
\quad\quad
\quad Senão se
\quad\quad
\quad Fim se\n
Fim para\n
Escreva “Quantidade em [0,100]:”,
Escreva “Quantidade em [101,200]:”,
Escreva “Quantidade >200:”,