Sendo H = 1 + 1/2 + 1/3 + 1/4 + ... + 1/N, Faça um programa em Python que calcule o valor de H com N termos. (usando a estrutura FOR)
Soluções para a tarefa
Resposta:
n = int(input("Digite o n aqui:"))
h = 0
for i in range(1,n+1):
h = h + 1/i
Explicação:
O que precisamos para resolver esse problema?
- Uma variável que armazene a quantidade de termos, que pode ser N
- Uma variável para armazenar a soma dos N termos, que pode ser H. Porém como utilizaremos essa variável H em operações, é necessário atribuirmos um valor nulo da da operação, como a operação será uma soma,então precisamos atribuir o valor zero
Ainda se pergunta por que precisamos do zero sendo atribuído dentro da variável H? Simples
H sempre receberá o valor que já está armazenado mais os valores da respectivas divisão
h = h + 1/1 = 0 + 1/1 = 1
h = h + 1/2 = 1 + 0.5 = 1.5
...
h = h + 1/n
Note que temos uma repetição aqui e por isso utilizaremos o for. Como precisamos realizar uma operação de divisão, sempre teremos 1/i. Sendo que esse i deve variar em cada repetição que fizermos, indo de 1 até N. Como vamos utilizar o python, usaremos a seguinte sintaxe:
for i in range(1, N+1)
O i será o contador, ele irá assumir valores de 1 até N. Por que colocamos então n+1 ali em cima? Justamente porque essa sintaxe expressa que o i assumirá valores de 1 até i< N. Se x assume valores de 1 até < N, então ele não assumirá o valor N, e por isso colocamos n+1
Exemplo
for i in range(1,3):
print(i)
Meu i assumirá o valor 1, irá executar o código que está dentro do for(que é o print(i) ) e no fim irá incrementar meu i somando +1. Então o meu i passa a ser agora 2. E ele irá perguntar, meu i = 2 é menor do que 3? Se sim repita novamente, senão, então não repita. E assim sucessivamente até o argumento que você passou ser falso.
Como você passará o valor N. Então o i irá de 1 até i<N e por isso precisamos colocar o valor N+1, pois assim seu i irá de 1 até i<N+1