Red de conocimientos turísticos - Conocimientos sobre calendario chino - Una pregunta de programación de computadoras para FORTRAN95, use la expansión de Taylor para encontrar sinx... es decir, cuando se ingresa el valor de entrada, el resultado de salida es el valor de sinx. ¡Extremadamente urgente!

Una pregunta de programación de computadoras para FORTRAN95, use la expansión de Taylor para encontrar sinx... es decir, cuando se ingresa el valor de entrada, el resultado de salida es el valor de sinx. ¡Extremadamente urgente!

subrutina cf(n, a)! Subrutina para calcular n!

entero i, n

a=1

do i =1, n

a=a*i

fin do

fin de subrutina

programa principal !b es la precisión, que es El error no excede b

entero i, c

real::x, b

read(*, *)x, b

i=1

llamar a cf(i, a) !a es i! Se utiliza para juzgar errores, error=/x/**(n 1)/(n 1)!

if(abs(x)gt;=1) entonces! Si >

s=x

else! Si xlt; ,

do while((abs(x))**(i 1 )/agt; =b) Error =/x/**(n 1)/(n 1)! es decir, el número de términos aumenta, se vuelve cada vez más pequeño, por lo que cuando el error es menor que b, el ciclo se puede detener y alcanzar la Precisión requerida

i=i 1

llamar a cf(i 1, a)

end do

c=i i debido a lo siguiente: La variable del bucle tiene i, por lo que aquí se usa otra variable c para reemplazar el valor máximo de n i

s=0! Suma sinx=x-x**3/3! x**5/5 .. . 2n-1))/(2n-1)! c es el valor máximo de n,

haz i=1, c, 2! i suma 2 cada vez, es decir, N suma 2 cada vez.

llamar a cf(i, a)

s=s (-1)**(i-1) *(x**(2*i-1))/a

fin de do

endif

escritura(*,*)s

fin del programa principal

Pruébalo , lo he probado y funciona, asegúrate de darme algunos puntos, no estudié mi tesis en toda la tarde, gracias,

Buena suerte