Ir ao conteúdo
  • Cadastre-se

Algoritmo que lê N e calcula E


Ir à solução Resolvido por dontpanic,

Posts recomendados

Boa tarde, galera!

 

Meu professor semana passada passou uma série de exercícios e o único no qual empaquei foi esse:

 

______________________________________________

Escrever um algoritmo que lê um valor N inteiro e positivo e que
calcula e escreve o valor de E.  Use o comando PARA.

E = 1 + 1 / 1! + 1 / 2! + 1 / 3! + 1 / N!

 

_______________________________________________

 

Tô me martirizando pra tentar entender o que é pra fazer. Fiz dois códigos: um que calcula fatorial e outro que realmente calcula o E.

 

Vejam como ficou:

 

 

Primeira resolução:

algoritmo "2"//2) Escrever um algoritmo que lê um valor N inteiro e positivo//e que calcula e escreve o valor de E.  Use o comando PARA.//E = 1 + 1 / 1! + 1 / 2! + 1 / 3! + 1 / N!varnumero, contador: inteirocalculo:realinicioEscreval ("Escreva um número para efetuar o cálculo")Leia (numero)para contador de 1 ate numero facacalculo <- 1 + 1 / 1 + 1 / 2 + 1 / 6 + 1 / numerofimparaescreval (calculo:2)fimalgoritmo

___________________________

 

Segunda resolução:

algoritmo "2"//2) Escrever um algoritmo que lê um valor N inteiro e positivo//e que calcula e escreve o valor de E.  Use o comando PARA.//E = 1 + 1 / 1! + 1 / 2! + 1 / 3! + 1 / N!varnumero, contador, fatorial: inteiroiniciofatorial <- 1Escreval ("Digite um valor inteiro")Leia (numero)para contador de numero ate 1 passo -1 facafatorial <- fatorial * contadorfimparaEscreval (fatorial)fimalgoritmo

_________________________________________________

 

 

Mas tô com aquele sentimento de que não tô fazendo a coisa certa e queria uma ajuda de vocês para interpretar esse exercício.

 

Valeu!

Link para o comentário
Compartilhar em outros sites

  • Solução

Normalmente quando existe uma questão que diz assim "faça tal coisa de 1 até N", esse N representa qualquer valor acima de 1.

Tecnicamente a questão ficou confusa mesmo pois o professor não deixou isso claro.

 

E = 1 + 1 / 1! + 1 / 2! + 1 / 3! + 1 / N!

 

Por exemplo, se a pessoa ver a fórmula acima, então faz sentido mesmo que é só substituir N por um número qualquer e pronto.

Mas na verdade o que o exercício quer dizer, é que a equação é diferente pra qualquer valor de N. Ou seja, se N for igual a 2, então fica assim:

 

E = 1 + 1/1! + 1/2!

 

Se N for igual a 5:

 

E = 1 + 1/1! + 1/2! + 1/3! + 1/4! + 1/5!

 

Se N for igual a 20:

 

E = 1 + 1/1! + 1/2! + 1/3! + 1/4! + 1/5! + 1/6! ...(não vou digitar tudo, heheh)... + 1/18! + 1/19! + 1/20!

 

Considerando isso, a tua primeira resolução tá incorreta pois tá apenas substituindo o N por um número (mas se o professor digitou a questão exatamente daquele jeito, sem explicar que era uma sequência, daí você pode entregar aquela resolução só pra sacanear ele).

 

A segunda resolução tá correta, mas tá incompleta. Você tá fazendo só o fatorial, mas não tá somando os elementos da sequencia.

A lógica é a seguinte:

Algoritmo "teste"var        soma:     real        fatorial: real        n:        inteiro        contador: inteiro inicio        soma <- 1;        Leia (n)         Para contador de 1 ate n passo 1 faça                // coloca aqui o teu codigo pra pegar o fatorial                soma <- soma + ( 1 / fatorial )        fimPara fimAlgoritmo
  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...