PROGRAM Trig IMPLICIT NONE INTEGER, PARAMETER :: reaali = SELECTED_REAL_KIND(10) REAL(KIND=reaali), DIMENSION(:), ALLOCATABLE :: x REAL(KIND=reaali), PARAMETER :: & pi = 3.141592653589793_reaali INTEGER :: i, n, allocstat WRITE(*,'(A)',ADVANCE='no') 'Anna n: ' READ(*,*) n IF (n > 0) THEN ALLOCATE(x(n), STAT = allocstat) IF ( allocstat /= 0 ) STOP ELSE STOP 'n <= 0!' END IF x = (/ (i, i = 0, n-1) /) x = SIN(pi*x/(n-1)) WRITE(*,'(A)') 'sin(x) = ' WRITE(*,'(5(F10.7))') x END PROGRAM Trig