

"""
 * arquivo: cos.c
 * Dados x real e n natural, calcular uma aproximacao para cos(x) atraves dos n
 * primeiros termos da serie.
 * Aproximacao boa em torno do zero. <=========
"""


import math  #para fazer o calculo de cos(x) usando a funcao cos(.)
             # do modulo math.  
def main():

    x = float(input("Digite o valor do angulo x em radianos: "))
    n = int(input("Número de termos: "))
    cosx = 1.0
    fatorial = 1.0
    termo = 1.0
    for k in range (1, n):
        termo =  - (termo * x * x)         #  veja o sinal 
        fatorial = fatorial * (2 * k -1) * (2 * k);   #  calculo do fatorial
                                                    # aproveitando o fatorial anterior.
        cosx = cosx + termo/fatorial 
       
    print("cos(%g) = %g\n" %(x, cosx))
    cosseno = math.cos(x)
    print("Usando a funcao cos(.) ja' disponivel:  cos(%g) = %g\n" %(x, cosseno))
#----
main()
