In [8]:
#definimos nuestra variables
k,n = var('k,n')

#PRECAUCIÓN!!! SÓLO MODIFIQUE ESTOS PARÁMETROS
#Elegimos los parametros de nuestra serie geométrica
a1=1
r=-1/2
#True: Se aplica una estimación para que la diferencia entre la suma parcial y la serie sea menor al error
#False: Se elige el número de términos N
tolerancia=False
error=0.001
N=6
#True: Se muestran sumas parciales
#False: No se muestran sumas parciales
MostrarSumasParciales=True
#una vez que elige los parametros anteriores, sólo tiene que dar click en "Evaluate" para ejecutar el script


#definimos nuestra serie geométrica en función del indice k
a(k) = a1*r^(k-1)

#imprimos la fórmula para el n-esimo término
show("Fórmula para la serie geométrica:")
show(LatexExpr("a_n="), a(n))


if abs(r)<1:

    Sinfty=a1/(1-r)

    show("Las sumas parciales S(n) convergen a ", LatexExpr("\ S_{\infty}="), Sinfty, "=", float(Sinfty))
    
        
    if tolerancia:
        N = ceil( (log(error*(1-r))-log(abs(a1)))/log(abs(r))  + 1)
        show("Margen de error: ", error)
        show("Número de iteraciones estimadas: ", N)
    else:
        show("Número de iteraciones:", N)
    
    print "\n"
    for n in range(1, N+1):
            S = sum([a(k) for k in range(1,n+1)])
            show(LatexExpr("S("),n, LatexExpr(")="), float(S))
            show(LatexExpr("|S_\infty-S("),n,LatexExpr(")|="), float(abs(Sinfty-S)))
            print "\n"
            if abs(Sinfty-S) < error:
                break
    
else:
    show("Las sumas parciales no convergen")







In [ ]: