Dada a seguinte série:
Onde: é um número real qualquer e é um número natural.
Faça um programa que receba o valor de e o valor de e imprima todos os membros do somatório, e diga qual é o resultado da soma.
Por exemplo. Pra e a saída deve ser:
Passo 1
Vamos lá pessoal.
Essa questão envolve bastante matemática. Então vamos logo incluindo a biblioteca
Pra efetuar um somatório podemos usar o laço , usando como nossa variável de iteração indo de 0 até . O detalhe dessa questão está na forma de exibir o resultado pro usuário. Mas fica tranquilo que eu te mostro como fazer.
Mas antes de tudo, vamos declarar nossas variáveis. é a variável de iteração, é o valor final das iterações que receberemos do usuário, é o valor constante da série, e é a variável onde vamos guardar nosso resultado. Como a variável soma vai sofrer operações de atualização, devemos inicia-la com valor zero.
Passo 2
Agora vamos pedir os dados pro usuário. Usamos o para pedir os valores pro usuário, e com vamos armazenar o valor nas variáveis adequadas.
Passo 3
Agora vamos começar a exibir nossos resultados. Vamos dar uma olhada no exemplo que a questão trás
Perceba uma coisa, as partes que estão circuladas de azul são estruturas repetitivas: “um número seguido do sinal de adição +”. Em contrapartida, as partes circuladas de verde não apresentam nenhum padrão de repetição.
Vamos generalizar isso pra uma situação de N números
Note as partes circuladas em azul, há um padrão de escrita iniciando em e que se repete até : um número seguido do sinal de adição +. Já as partes circuladas em verde continuam sem apresentar nenhum padrão.
Isso diz pra gente, que dentro do laço vamos considerar apenas as partes circuladas em azul, e as partes circuladas em verde serão calculadas e escritas fora do laço.
Então, primeiro vamos escrever pro usuário “”:
Passo 4
Certo! Agora vamos criar um laço. Ele vai começar quando e vai enquanto for menor do que . E a variável será incrementada de um em um: .
Dentro do laço a gente vai somar o valor já existente na variável soma, com o valor . Pra isso podemos usar a função da seguinte forma:
Ainda dentro do loop, vamos usar o pra exibir os valores que estão sendo somados. Note que não usamos o pois queremos exibir tudo na mesma linha.
Isso finaliza o nosso loop.
Passo 5
O loop está concluindo, mas lembre-se, o nosso loop foi só até , ou seja, ainda falta somar no momento que .
E por fim, precisamos adicionar a exibição da última parcela da série, e o resultado final.
E pronto. Questão finalizada!