Faça um programa que leia vários números, calcule e mostre:
(a) A soma dos números digitados
(b) A quantidade de números digitados
© A média dos números digitados
(d) O maior número digitado
(e) O menor número digitado
(f) A média dos números pares
Finalize a entrada de dados caso o usuário informe o valor 0.
(a) A soma dos números digitados
(b) A quantidade de números digitados
© A média dos números digitados
(d) O maior número digitado
(e) O menor número digitado
(f) A média dos números pares
Passo 1
A questão pede um programa que leia vários números até que o usuário digite 0 e, ao final, exiba soma, quantidade, média, maior, menor e média dos pares.
Passo 2
Para resolver isso, precisamos usar variável(s) de controle e acumuladoras. Vamos precisar de:
- soma: para acumular todos os números
- contador: para contar quantos números foram digitados
- maior e menor: para rastrear o valor máximo e mínimo
- somaPares e contadorPares: para computar a média apenas dos números pares
Passo 3
Inicialize as variáveis antes de entrar no laço de repetição:
- soma ← 0
- contador ← 0
- maior ← valor muito pequeno (por exemplo, o primeiro número válido que leremos)
- menor ← valor muito grande (idem)
- somaPares ← 0
- contadorPares ← 0
Passo 4
Inicie um laço infinito (por exemplo, while true). Dentro dele, peça ao usuário para digitar um número n.
Se n for igual a 0, interrompa (break) o laço, pois indica fim da entrada de dados.
Se n for igual a 0, interrompa (break) o laço, pois indica fim da entrada de dados.
Passo 5
Caso contrário, atualize:
- soma ← soma + n
- contador ← contador + 1
- se n for maior que maior, então maior ← n
- se n for menor que menor, então menor ← n
- se n for par (n mod 2 = 0), faça somaPares ← somaPares + n e contadorPares ← contadorPares + 1
Passo 6
Após sair do laço, calcule as médias:
- médiaGeral ← soma / contador
- se contadorPares > 0, então médiaPares ← somaPares / contadorPares; caso contrário, médiaPares ← 0 ou informe “nenhum par digitado”
Passo 7
Exiba os resultados para soma, contador, médiaGeral, maior, menor e médiaPares.
Resposta
// Pseudocódigo em estilo estruturado
soma ← 0
contador ← 0
somaPares ← 0
contadorPares ← 0
contador ← 0
somaPares ← 0
contadorPares ← 0
repita
escreva("Digite um número (0 para sair): ")
leia(n)
se n = 0 então
interrompa
fim se
escreva("Digite um número (0 para sair): ")
leia(n)
se n = 0 então
interrompa
fim se
soma ← soma + n
contador ← contador + 1
se contador = 1 então
maior ← n
menor ← n
senão
se n > maior então
maior ← n
fim se
se n < menor então
menor ← n
fim se
fim se
se n mod 2 = 0 então
somaPares ← somaPares + n
contadorPares ← contadorPares + 1
fim se
até falso
médiaGeral ← soma / contador
se contadorPares > 0 então
médiaPares ← somaPares / contadorPares
senão
médiaPares ← 0 // ou exibir “nenhum número par digitado”
fim se
se contadorPares > 0 então
médiaPares ← somaPares / contadorPares
senão
médiaPares ← 0 // ou exibir “nenhum número par digitado”
fim se
escreva("Soma dos números: ", soma)
escreva("Quantidade de números: ", contador)
escreva("Média geral: ", médiaGeral)
escreva("Maior número: ", maior)
escreva("Menor número: ", menor)
escreva("Média dos números pares: ", médiaPares)
escreva("Quantidade de números: ", contador)
escreva("Média geral: ", médiaGeral)
escreva("Maior número: ", maior)
escreva("Menor número: ", menor)
escreva("Média dos números pares: ", médiaPares)