File: uspk04.f

package info (click to toggle)
dcl 7.5.2-2
  • links: PTS, VCS
  • area: main
  • in suites:
  • size: 21,008 kB
  • sloc: fortran: 48,433; f90: 12,803; ansic: 6,513; makefile: 4,738; ruby: 184; sh: 153
file content (54 lines) | stat: -rw-r--r-- 1,147 bytes parent folder | download | duplicates (14)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
*-----------------------------------------------------------------------
      PROGRAM USPK04

      PARAMETER(N=200, M=5)
      REAL X(N), Y0(N), Y1(N), Y2(N), A(M)

*-----------------------------------------------------------------------

      DT = 1./(N-1)
      PI = 3.14159
      DO 50 J=1, M
        JJ = J*2-1
        A(J) = (-1)**J *2./(JJ*PI)
  50  CONTINUE

      DO 100 I=1, N
        T    = DT*(I-1)*2*PI
        X(I) = DT*(I-1)
        Y2(I) = 0.
        DO 150 J=1, M
          JJ = J*2-1
          YY = A(J)*COS(JJ*T)
          Y2(I)  = Y2(I) + YY
  150   CONTINUE
        Y1(I) = A(1)*COS(T)

        IF(T.LT.PI/2. .OR. T.GE.PI*3./2.) THEN
          Y0(I) = -0.5
        ELSE
          Y0(I) = 0.5
        ENDIF
  100 CONTINUE

*-----------------------------------------------------------------------

      WRITE(*,*) ' WORKSTATION ID (I)  ? ;'
      CALL SGPWSN
      READ (*,*) IWS

      CALL GROPN(IWS)
      CALL GRFRM

      CALL USSPNT(N, X, Y1)
      CALL USSPNT(N, X, Y2)

      CALL UUSLNI(5)
      CALL USGRPH(N, X, Y0)

      CALL UULINZ(N, X, Y1, 3, 1)
      CALL UULINZ(N, X, Y2, 2, 2)

      CALL GRCLS

      END