Google
 

Trailing-Edge - PDP-10 Archives - BB-4157E-BM - fortran-test/ascii.for
There are 11 other files named ascii.for in the archive. Click here to see a list.
	PROGRAM ASCII

! This software is furnished under a license and may only be used
! or copied in accordance with the terms of such license.

! Copyright (C) 1981 by Digital Equipment Corporation

!	Version 6	ASCII.FOR	March 81

!	Basic ASCII I/O test.

	DOUBLE PRECISION D,DD,DHIGH,DLOW

!	Data to be written out.

	I=1234; X=456.789; D=123456789.0123
	XLOW=456.7885; XHIGH=456.7895
	DLOW=123456789.012299995; DHIGH=123456789.012300005

!	No OPEN statement (Implicit OPEN)

100	WRITE(20,105) I,X,D
	CLOSE(20)
	READ(20,105) II,XX,DD
	IF (I.NE.II) TYPE 110,I,II
	IF (XX.LT.XLOW .OR. XX.GT.XHIGH) TYPE 120,X,XX
	IF (DD.LT.DLOW .OR. DD.GT.DHIGH) TYPE 130,D,DD

105	FORMAT(I,F,D)
110	FORMAT(' ?Error line 100.  Implicit OPEN.',/
	1	'  I='I' II='I)
120	FORMAT(' ?Error line 100.  Implicit OPEN.',/
	1	'  X='F' XX='F)
130	FORMAT(' ?Error line 100.  Implicit OPEN.',/
	1	'  D='D' DD='D)

!	OPEN statement, no MODE= specified.

	OPEN(UNIT=21)
200	WRITE(21,205) I,X,D
	CLOSE(21)
	OPEN(UNIT=21)
	READ(21,205) II,XX,DD
	IF (I.NE.II) TYPE 210,I,II
	IF (XX.LT.XLOW .OR. XX.GT.XHIGH) TYPE 220,X,XX
	IF (DD.LT.DLOW .OR. DD.GT.DHIGH) TYPE 230,D,DD

205	FORMAT(I,F,D)
210	FORMAT(' ?Error line 200.  Default OPEN statement.',/
	1	'  I='I' II='I)
220	FORMAT(' ?Error line 200.  Default OPEN statement.',/
	1	'  X='F' XX='F)
230	FORMAT(' ?Error line 200.  Default OPEN statement.',/
	1	'  D='D' DD='D)
	CLOSE(UNIT=21)

!	OPEN statement with MODE= and ACCESS= specified.

	OPEN(22,MODE='ASCII',ACCESS='SEQOUT')
300	WRITE(22,305) I,X,D
	CLOSE(22)
	OPEN(22,MODE='ASCII',ACCESS='SEQIN')
	READ(22,305)
	IF (I.NE.II) TYPE 310,I,II
	IF (XX.LT.XLOW .OR. XX.GT.XHIGH) TYPE 320,X,XX
	IF (DD.LT.DLOW .OR. DD.GT.DHIGH) TYPE 330,D,DD

305	FORMAT(I,F,D)
310	FORMAT(' ?Error line 300.  MODE= and ACCESS=.',/
	1	'  I='I' II='I)
320	FORMAT(' ?Error line 300.  MODE= and ACCESS=.',/
	1	'  X='F' XX='F)
330	FORMAT(' ?Error line 300.  MODE= and ACCESS=.',/
	1	'  D='D' DD='D)
	CLOSE(22)

	STOP
	END