Está en la página 1de 2

UNIVERSIDAD DE CUENCA

FACULTAD DE INGENIERIA
ALGORITMOS DATOS Y ESTRUCTURAS
EVALUACIN CAPTULO 4 y 5
FECHA: 27 de octubre del 2014
DOCENTE: Ing. Johnny Solrzano Z.
FORMA DE ENTREGA: Digital cdigo fuente - Python, en el enlace del e-virtual.
ENUNCIADO:
La funciones coseno y seno pueden ser representadas mediante sumas infinitas:



Por lo tanto, el programa:


stas son las series de Taylor Los trminos de ambas sumas son cada vez ms pequeos, por lo que
tomando algunos de los primeros trminos es posible obtener una buena aproximacin

1. Escriba la funcin leer_angulo() que solicite al usuario un dato que corresponde al ngulo, si el valor
est comprendido entre 10 y 45 devuelve dicho valor caso contrario retorna -1 y el programa no
puede continuar.
2. Escriba la funcin factorial(n)
3. Escriba la funcin factorial_reciproco(n), que retorne el valor 1/n!. Es necesario usar la funcin
factorial(n)
4. Escriba la funcin signo(n) que retorne 1 cuando n es par y 1 cuando n es impar.
5. Escriba las funciones seno_aprox(x, m) y coseno_aprox(x, m) que aproximen respectivamente el
seno y el coseno usando los m primeros trminos de las sumas correspondientes. Las funciones
deben llamar a las funciones factorial_reciproco y signo.
Ejemplo: seno_aprox(20,30)= 0.9129. coseno_aprox(20,30)=0.40809
Rbrica: /20
Funciones:
o Funcin leer_angulo: 3
o Funcin Factorial:3
o Funcin Factorial_Recproco:2
o Funcin Signo:2
o Funcin Seno_aprox:5
o Funcin Coseno_aprox:5

Firma Estudiante:
____________________
Nombre:

CODIGO
def leerAngulo():
angulo=int(input("digite el angulo:"))
if angulo>=10 and angulo<=45:
return angulo
else:
return -1
def factorial(n):

f=1
for i in range (1,n+1):
f=f*i
return f
def factorial_reciproco(n):
return 1/factorial(n)

def signo(n):
if n%2==0:
return 1
else:
return -1

def seno_aprox(x,m):
seno=0
for i in range(0,m-1):
seno+=signo(i)*factorial_reciproco((2*i)+1)*x**((2*i)+1)
return seno

def coseno_aprox(x,m):
coseno=0
for i in range(0,m-1):
coseno+=signo(i)*factorial_reciproco(2*i)*x**(2*i)
return coseno

ang=leerAngulo()
if ang!=-1:
print("El seno es:" ,seno_aprox(ang,30))
print("El coseno es coseno:",coseno_aprox(ang,30))
else:
print("angulo no aceptado")

También podría gustarte