Escrever um algoritmo que leia uma quantidade desconhecida de números e conte quantos deles estão nos seguintes intervalos: [0-25], [26-50], [51-75] e [76-100]. A entrada de dados deve terminar quando for lido um número negativo.
Passo 1
Beleza, aqui a ideia é criar um programinha que leia vários números até o usuário digitar um valor negativo. A gente vai contar quantos desses números caem em cada um desses intervalos:
Conteúdo da matéria: estruturas de repetição (loop), estruturas condicionais (if/else) e variáveis para contagem. Vamos precisar entender o que é um laço “enquanto” (while) pra repetir a leitura até um número negativo e como usar if/else para verificar em qual faixa cada número se encaixa.
Passo 2
Teoria sobre loop “enquanto” (while):
- O while repete um bloco de código enquanto a condição for verdadeira.
- A gente começa lendo um número e, se ele for não-negativo, entra no loop; se for negativo, sai do loop e termina o programa.
Em pseudocódigo isso fica assim:
leia num
enquanto num ≥ 0 faça
…
leia num
fim enquanto
Passo 3
Teoria sobre estruturas condicionais (if/else):
- Usamos if pra testar se um número está entre dois valores.
- Se a condição for verdadeira, executa o bloco associado; senão, testa a próxima condição com elseif (ou else if).
Por exemplo, pra saber se num está em
:
se num ≥ 0 e num ≤ 25 então
contador0a25 ← contador0a25 + 1
Passo 4
Juntando tudo:
- Inicializar quatro variáveis de contagem (
contador0a25
,contador26a50
,contador51a75
,contador76a100
) com zero. - Ler o primeiro número.
- Enquanto ele for ≥ 0:
a. Verificar em qual faixa ele está (usando if/elseif).
b. Incrementar o contador certo.
c. Ler o próximo número. - Quando sair do loop (número negativo), imprimir os contadores.
Resposta
Pseudocódigo completo:
contador0a25 ← 0
contador26a50 ← 0
contador51a75 ← 0
contador76a100 ← 0
leia num
enquanto num ≥ 0 faça
se num ≥ 0 e num ≤ 25 então
contador0a25 ← contador0a25 + 1
senão se num ≥ 26 e num ≤ 50 então
contador26a50 ← contador26a50 + 1
senão se num ≥ 51 e num ≤ 75 então
contador51a75 ← contador51a75 + 1
senão se num ≥ 76 e num ≤ 100 então
contador76a100 ← contador76a100 + 1
fim se
leia num
fim enquanto
escreva "Quantidade em [0–25]: ", contador0a25
escreva "Quantidade em [26–50]: ", contador26a50
escreva "Quantidade em [51–75]: ", contador51a75
escreva "Quantidade em [76–100]: ", contador76a100
Pronto! É isso aí: o while cuida do término com número negativo e o if/elseif distribui cada número no intervalo correto.