Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- c Main part
- PROGRAM main
- COMMON /const/ rad
- COMMON /input/ Xmin, Xmax, Xstep, Ymin, Ymax, Ystep
- rad = 3.1415927 / 180
- PRINT *, rad
- CALL inputf
- CALL outputf
- END
- c Input values from file
- SUBROUTINE inputf
- COMMON /const/ rad
- COMMON /input/ Xmin, Xmax, Xstep, Ymin, Ymax, Ystep
- OPEN (1, FILE='input.txt', ACTION='READ', STATUS='OLD', ERR=1)
- READ (1, *, ERR=1) Xmin, Xmax, Xstep, Ymin, Ymax, Ystep
- IF (Xmin .GT. Xmax .OR. Ymin .GT. Ymax) GOTO 1
- GOTO 2
- 1 PAUSE 'Error: please check the input file'
- STOP
- 2 END
- c Write cosec(x+y) result in output file
- SUBROUTINE outputf
- COMMON /const/ rad
- COMMON /input/ Xmin, Xmax, Xstep, Ymin, Ymax, Ystep
- OPEN (2, FILE='output.txt', ACTION='WRITE', ERR=3)
- c Draw the table top
- WRITE (2, 13) '| y\x '
- WRITE (2, 11) Xmin
- ri = Xmin + Xstep
- DO WHILE (ri .LT. Xmax)
- WRITE (2, 11) ri
- ri = ri + Xstep
- END DO
- WRITE (2, 11) Xmax
- WRITE (2, 13) '|'
- WRITE (2, 14)
- c I cant round iparts up, so... +2 instead of +1
- iparts = (Xmax - Xmin) / Xstep + 2
- DO i = 0, iparts, 1
- WRITE (2, 12)
- END DO
- WRITE (2, 13) '|'
- c Do something blablabla fix it
- c I HATE FORTRAN
- GOTO 4
- 3 PAUSE 'Error: please check the output file'
- STOP
- 10 FORMAT ('|'E11.4' '\)
- 11 FORMAT ('|'F11.4' '\)
- 12 FORMAT ('|'12('—')\)
- 13 FORMAT (a\)
- 14 FORMAT (/1x\)
- 4 END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement