1)Fazer um programa no qual o usuário vai entrando sucessivamente com valores (números reais)positivos ou nulos.Quando o usuário entrar com um valor negati- vo,o programa para de pedir valores e calcula a média dos valores já fornecidos (excluindo o último número negativo)
Passo 1
O programa deve ler sucessivamente valores reais não negativos digitados pelo usuário e, ao receber um valor negativo (sentinela), parar de ler e calcular a média dos valores válidos lidos (excluindo o valor negativo). O conteúdo envolve repetição com valor sentinela, acumulação de soma e contagem de elementos, e cálculo de média.
Passo 2
Inicializamos duas variáveis antes de entrar no laço: uma para acumular a soma dos valores válidos e outra para contar quantos valores foram lidos. Assim evitamos usar variáveis não definidas e preparamos o cálculo da média:
soma \(=0.0\)
contador \(=0\)
Passo 3
Usamos um laço infinito (
while True:
) porque não sabemos quantas entradas o usuário fará. Dentro desse laço faremos a leitura de um valor e depois testamos se ele é negativo. Se for, saímos do laço com break
.Passo 4
Em cada iteração pedimos ao usuário um valor real, convertemos para
float
e imediatamente verificamos a condição de parada:valor = float(input("Digite um valor real (negativo para terminar): "))
if valor < 0:
break
Esse teste garante que o valor sentinela não seja incluído nos cálculos seguintes.
Passo 5
Se o valor não for negativo, ele é válido, então somamos ao total e incrementamos o contador:
soma \(+=\) valor
contador \(+=1\)
Isso permite, ao final, saber quanto vale a soma e quantos valores contribuíram para ela.
Passo 6
Após sair do laço, verificamos se o contador é maior que zero. Se for, calculamos a média como a soma dividida pelo contador. Caso contrário, não há valores válidos e devemos tratar esse caso para evitar divisão por zero.
Passo 7
Exibimos a média se possível, ou uma mensagem informando que não houve valores válidos:
if contador > 0:
media = soma / contador
print("Média dos valores:", media)
else:
print("Nenhum valor não-negativo foi informado.")
Resposta
soma \(=0.0\)
contador \(=0\)
while True:
valor = float(input("Digite um valor real (negativo para terminar): "))
if valor < 0:
break
soma \(+=\) valor
contador \(+=1\)
if contador > 0:
media = soma / contador
print("Média dos valores:", media)
else:
print("Nenhum valor não-negativo foi informado.")