Introducción a la programación sinx
Entero I, n
a=1
hacer i=1, n
a=a*i
a=1
p>
Fin de hacer
Fin de subrutina
¡Programador! b es la precisión, es decir, el error no excede b.
Entero I, c
Número real:: x, b
Leer (*), *)x, b
i= 1
¡Llama a cf (yo, a)! ¡Soy yo! Utilizado para juzgar errores, error =/x/* *(n 1)/(n 1)!
if(abs(x)>=1)¡Entonces! Si
s=x
¡De lo contrario! Si x
hacer while((ABS(x))* *(I 1)/a gt;=b) error =/x/**(n 1)/(n 1)! A medida que I aumenta, el número de términos aumenta y se vuelve cada vez más pequeño, por lo que cuando el error es menor que B, el ciclo se puede detener para lograr la precisión requerida.
i=i 1
Llamar a cf(i 1,a)
finalizar do
C=i i debido a la variable del bucle debajo Hay I, aquí usamos una variable C para reemplazar el valor máximo de n I.
s=0! ¡Suma senx=x-x**3/3! x**5/5! ... (-1)* *(n-1)*(x * *(2n-1))/(2n-1)! c es el valor máximo de n,
¡haz i=1, c, 2! Sumo 2 cada vez, lo que significa que n suma 2 cada vez.
Llame a cf(i,a)
s = s (-1)* *(I-1)*(x * *(2 * I-1))/a
Finalizar do
endif
Escribir (*, *)s
Finalizar el programa principal
Pruébalo. Pruébalo. Lo intenté. Por favor dame algún consejo. No trabajé en mi trabajo en toda la tarde. Gracias.
Buena suerte