Desenvolva um programa que calcula a média aritmética de N números. Seu programa deverá perguntar ao usuário a quantidade ( N ) de números que serão digitados, em seguida o usuário deverá digitar os N números. Finalmente o programa imprimirá na tela o valor da média aritmética (com duas casas decimais). Obs: Não utilize array/vetor para resolver esse exercício.
Passo 1
O enunciado pede que você desenvolva um programa que:
- Pergunte ao usuário a quantidade de números
que serão digitados. - Em seguida leia os
números (um a um). - Calcule a média aritmética desses
números e imprima o resultado com duas casas decimais. - Restrição importante: não é permitido usar array/vetor (ou seja, não armazenar todos os valores; deve-se processar conforme lê).
Informações relevantes dadas:
- A fórmula da média aritmética é
onde
são os números fornecidos e
é a quantidade total.
Passo 2
Entendimento do que precisamos fazer passo a passo (sem resolver ainda):
- Precisamos de uma variável que conte quantos números foram lidos (essa é
, pedida ao usuário). - Precisamos de uma variável acumuladora para guardar a soma parcial dos números lidos (vou chamar de “soma”).
- Para cada número lido
somamos em “soma”: isto é, após ler fazemos . - Ao final dividimos a soma por
para obter a média: . - Imprimir a média com exatamente duas casas decimais.
Passo 3
Explicando os conceitos usados (aula rápida e prática):
- O que é a média aritmética? É o valor que representa o “centro” dos dados e é calculado somando todos os valores e dividindo pelo número total de valores. Na prática, você soma tudo e divide por quantos elementos tem.
- Por que não precisamos de vetor/array? Porque podemos ir somando os números conforme são lidos, mantendo apenas a soma acumulada e o contador
. Isso economiza memória e atende à restrição do enunciado. - Variáveis que usaremos:
-
: inteiro com a quantidade de números que o usuário informará. -
: número (float) que armazena a soma acumulada dos . -
: resultado final (média), calculado por .
-
Passo 4
Escolha do método e da linguagem:
- O enunciado não exige linguagem específica. Vou usar Python porque é simples, direto e fácil de escrever/ler durante uma prova prática ou exercício.
- O método é o mais direto e clássico: ler
, fazer um laço que repete vezes, em cada iteração ler um número e somar em . Ao final dividir por . - Justificativa: esse método usa apenas operações básicas (leitura, soma, divisão, laço), não precisa de estruturas complexas e é eficiente.
Passo 5
Pseudocódigo (para você entender a sequência antes do código real):
- Ler
. - Se
, avisar que não dá para calcular a média (ou tratar como caso especial). - Inicializar
. - Repetir
de até : - Ler
. - Fazer
.
- Ler
- Calcular
. - Imprimir
com duas casas decimais.
Passo 6
Detalhando a implementação em Python linha a linha (explicação didática):
- Leitura de
: em Python usamos input() e convertendo para inteiro com int(). Se o usuário digitar um número não inteiro, dará erro; em prova normalmente assume-se entrada correta. - Inicialização da soma: usar uma variável float, por exemplo
. - Laço: usar for _ in range(N): — o nome da variável de laço não importa, usamos o underscore quando não precisamos do índice.
- Conversão do número lido: usar float(input()) para aceitar números reais.
- Atualização da soma:
(em texto: soma = soma + x). - Cálculo da média:
. Atenção a divisão por zero: se devemos evitar a divisão. - Formatação com duas casas decimais: em Python use f-strings: f"{media:.2f}" ou função format(media, “.2f”). Isso garante duas casas mesmo quando são zeros.
Passo 7
Exemplo numérico para fixar (faça na mão seguindo o código):
- Suponha
e os números sejam , , . - Inicialmente
. - Após ler
: . - Após ler
: . - Após ler
: . - Média:
. Imprimindo com duas casas: (no programa aparecerá como 4.00, que é equivalente numérico).
Passo 8
Casos especiais e boas práticas (para a prova):
- Se
: a média é indefinida. Em provas, normalmente é um inteiro positivo; você pode checar e, se , imprimir uma mensagem de erro ou tratar como 0 entradas (mas nunca dividir por zero). - Precisão: usar float para a soma para permitir números reais.
- Entrada do usuário: assumir que o usuário fornecerá exatamente
números; em ambiente real, poderia validar entrada, mas isso foge do enunciado simples.
Passo 9
Código final (pronto para executar). Este é o programa que implementa tudo que expliquei acima.
Resposta
# Programa para calcular média aritmética de N números sem usar array/vetor
N = int(input("Digite a quantidade de números (N): "))
if N <= 0:
print("Quantidade inválida. N deve ser maior que zero.")
else:
soma = 0.0
for _ in range(N):
x = float(input())
soma += x
media = soma / N
print(f"{media:.2f}")