Primeira vez aqui? Seja bem vindo e cheque o FAQ!
x

Como fazer uma soma recursiva de uma função?

0 votos
5 visitas
perguntada Set 13 em Ciência da Computação por Henrique Alves (1 ponto)  
Compartilhe

1 Resposta

0 votos
respondida Set 13 por Henrique Alves (1 ponto)  
editado Set 13 por Henrique Alves

Olá a todos :)

Hoje vamos trabalhar com um código muito simples, porém fundamental para diversos trabalhos que possamos realizar em nossas carreiras.

Vamos trabalhar com o somatório de termos de uma função. Esse é o exercício 4.6 do livro Introduction to Recursive Programming.

A tarefa é muito simples: Definida uma função f(i), queremos fazer a soma de todos os termos partindo de um limite inferior até o superior.

Vamos ao código!

@author: Henrique Alves de Lima
"""

import numpy as np
import matplotlib.pyplot as plt

#Podemos definir qualquer função utilizando LAMBDA :)
f = lambda x: x**3

n = float(input('Insira o valor para o limite inferior:'))
m = float(input('Agora, o limite superior da soma:'))


def recursive(n,m,f):

   if m < 0:
        print('Limite superior menor que zero, arruma isso ai :(')

    elif m == n:
    return f(m)

    elif m < 0:
        return 0

    elif m == 0:
    return f(0)

    elif m == 1:
        return f(1)

    else:
        return f(m)+recursive(n,m-1,f)


print('O resultado total é  = ', recursive(n,m,f))

Utilizando a função lambda do python, podemos tornar o código mais sofisticado, fazendo com que o usuário defina a função que ele quer somar. Na questão foi sugerida a função , com limites 0 e 4, ou seja, a soma seria dada da forma:

0³+1³+2³+3³+4³ = 100

O resultado gerado pelo programa está de acordo com o esperado:

Insira o valor para o limite inferior:0

Agora, o limite superior da soma:4

O resultado total é  =  100.0

Por enquanto é isso,

Cheers =D

...