Ir ao conteúdo
  • Cadastre-se
Diegovictor

RESOLVIDO Algoritmo que lê N e calcula E

Recommended Posts

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!

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

Finalmente consegui entender o seu código e a necessidade dos reais (soma com números divididos que quebram), além da repetição do para nessa soma.

 

 

Muito obrigado! :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×