Informática, perguntado por pedrosrolim, 9 meses atrás

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

Respondido por gabriel040397p7jf4p
13

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?

  1. Uma variável que armazene a quantidade de termos, que pode ser N
  2. 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

Perguntas interessantes