Crie um código que, dado um número naturak
, retorna a soma e o produto dos números naturais de 1 até
. Acrescente no código uma mensagem de erro para o computador parar caso
seja negativo.
Passo 1
O enunciado pede um código que, dado um inteiro
, calcule a soma
e o produto
, e pare com mensagem de erro se
for negativo. Vamos usar em Python:
- uma verificação com
if
para detectar, - um laço
for
para acumular soma e produto, - e lançar uma exceção para interromper em caso de entrada inválida.
Passo 2
Validar o valor de
. Se
, interromper com mensagem de erro. Em Python isso pode ser feito com:
if n < \(0\):
raise ValueError("Erro: n deve ser um número natural não negativo.")
Passo 3
Calcular soma e produto em um único laço. Começamos com de
até
atualizamos:
soma \(=0\)
e produto \(=1\)
, e para cada
soma \(+=\) i
produto *\(=\) i
Resposta
def soma\_e\_produto(n):
if n < 0:
raise ValueError("Erro: n deve ser um número natural não negativo.")
soma = 0
produto = 1
for i in range(1, n + 1):
soma += i
produto *= i
return soma, produto
if __name__ == "__main__":
n = int(input("Digite um número natural n: "))
s, p = soma\_e\_produto(n)
print(f"Soma de 1 até {n}: {s}")
print(f"Produto de 1 até {n}: {p}")