- #1

- 2

- 0

Hello all, I'm kinda stuck with this fortran 95 program I have to write. It is an Infinite Series of SIN.

IMPLICIT NONE

!

! Data Dictionary

REAL :: x ! Measurement of angle in degrees

REAL :: result ! facilitates addition of the functions

REAL :: f_x ! function defining the series

REAL :: rad_x ! Radians equivalent of x

REAL :: int_value ! Intrinsic function value of sin

REAL, PARAMETER :: PI = 3.141593 ! universal ratio of circle's diameter

INTEGER :: n ! Counter

INTEGER :: fac ! factorial calculation

! User Input of X

WRITE (*,*) 'Input degrees'

READ (*,*) x

!

! Convert to Radians

rad_x = x *(PI/180)

!

! Defining Base values for addition of LOOPs

result = 0.0

fac = 0

!

! Start of DO LOOP

DO n = 1, 10

fac = (2n - 1) *n

f_x = (-1.0**(n-1))*((rad_x**(2n-1))/(fac))

result = f_x + result

END DO

!

! Calcualte INtrinsic value of SIN

int_value = SIN(rad_x)

!

! Display information

WRITE (*,*) 'Intrinsic SIN function value', int_value

WRITE (*,*) 'Calculated value of SIN', result

!

! Finish Up

END PROGRAM infinite_series

And I receive the following errors from the compiler

In file infinite.f95:35

fac = (2n - 1) *n

1

Error: Expected a right parenthesis in expression at (1)

In file infinite.f95:36

f_x = (-1.0**(n-1))*((rad_x**(2n-1))/(fac))

1

Error: Expected a right parenthesis in expression at (1)

The "1" is actually under the 2 in (2n-1) but it wont stay put in the post.

I'm trying to compile to see if the program even works but I need to get past this first. Thank you for any help

After about a couple hours of racking my brain I discovered I was missing the multiply operator between the 2 and n. fail

Now the program compiles but I'm having issues with getting the factorial part of the work properly. I can't seem to figure out how to get it to multiply properly within the DO loop. If I separate the two, I can get the factorial to work, but I will not get the equation to work. argh!

IMPLICIT NONE

!

! Data Dictionary

REAL :: x ! Measurement of angle in degrees

REAL :: result ! facilitates addition of the functions

REAL :: f_x ! function defining the series

REAL :: rad_x ! Radians equivalent of x

REAL :: int_value ! Intrinsic function value of sin

REAL, PARAMETER :: PI = 3.141593 ! universal ratio of circle's diameter

INTEGER :: n ! Counter

INTEGER :: fac ! factorial calculation

! User Input of X

WRITE (*,*) 'Input degrees'

READ (*,*) x

!

! Convert to Radians

rad_x = x *(PI/180)

!

! Defining Base values for addition of LOOPs

result = 0.0

fac = 0

!

! Start of DO LOOP

DO n = 1, 10

fac = (2n - 1) *n

f_x = (-1.0**(n-1))*((rad_x**(2n-1))/(fac))

result = f_x + result

END DO

!

! Calcualte INtrinsic value of SIN

int_value = SIN(rad_x)

!

! Display information

WRITE (*,*) 'Intrinsic SIN function value', int_value

WRITE (*,*) 'Calculated value of SIN', result

!

! Finish Up

END PROGRAM infinite_series

And I receive the following errors from the compiler

In file infinite.f95:35

fac = (2n - 1) *n

1

Error: Expected a right parenthesis in expression at (1)

In file infinite.f95:36

f_x = (-1.0**(n-1))*((rad_x**(2n-1))/(fac))

1

Error: Expected a right parenthesis in expression at (1)

The "1" is actually under the 2 in (2n-1) but it wont stay put in the post.

I'm trying to compile to see if the program even works but I need to get past this first. Thank you for any help

After about a couple hours of racking my brain I discovered I was missing the multiply operator between the 2 and n. fail

Now the program compiles but I'm having issues with getting the factorial part of the work properly. I can't seem to figure out how to get it to multiply properly within the DO loop. If I separate the two, I can get the factorial to work, but I will not get the equation to work. argh!

Last edited: