Red de conocimiento informático - Problemas con los teléfonos móviles - Introducción a la programación sinx

Introducción a la programación sinx

Subrutina cf(n,a)! Cuenta n! Subrutina

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