Click to start compilers
PROGRAM CHARAC
CHARACTER ALPHAB*34, BETA*40, ITOM*6, X*1
DATA ALPHAB /'THIS IS A SHORT CHARACTER SEQUENCE'/
50 PRINT *, ' CONTENTS OF ARRAY = ', ALPHAB
PRINT *, ' READ IN UP TO SIX CHARACTERS'
READ (*,100) ITOM
100 FORMAT(A)
IF ( ITOM(1:1) .eq. ' ') THEN
CALL EXIT
END IF
BETA = ALPHAB//ITOM
PRINT *, ' CONCATENATED = ',BETA
X = '1'
ALPHAB(1:1) = X
ALPHAB(30:34) = 'HENRY'
PRINT *, ' CONTENTS OF FINAL STRING = ',ALPHAB
GOTO 50
END
Program char1
CHARACTER A(128)*1, STRING*80
INTEGER B(128)
C23456789012345678901234567890123456789012345678901234567890123456789012
DATA STRING /'JUST A COLLECTION OF text to see WHAT THE INTEGER EQUIVALENT IS'/
OPEN (8,FILE='ascii.txt', STATUS='UNKNOWN')
DO 10 N = 1, 126
A(N) = CHAR(N)
10 B(N) = N
print *, ' These are the ASCII characters 32 - 126'
WRITE (*,100) (A(J), B(J), J = 32,126)
C Do not print characters 1-31 on the terminal!!!
C You can however edit ASCII.DAT afterwards.
WRITE (8,100) (A(J), B(J), J = 1,126)
100 FORMAT (10(1X,A1,':',I3),/)
print *, 'Now to detect L or e in the character string'
DO 20 N = 1,80
IF (STRING(N:N).EQ.'L' .OR. STRING(N:N) .EQ. 'e') THEN
print *, ' L or e detected at location ', N
ENDIF
20 CONTINUE
END
PROGRAM READING
INTEGER A(10)
REAL L(10)
5 WRITE (*,*) ' Read in exactly 10 numbers. To exit from loop, ctrl d'
READ (*,*, END=10) (A(J), J=1,10)
WRITE (*,100) (A(J), J = 1,10)
100 FORMAT (10(I3,1X))
GOTO 5
10 WRITE (*,*) ' Data entry terminated with ctrl d'
30 WRITE (*,*) ' Fixed format (I3) entry. when no more numbers.'
write (*,*) ' | | | | | | | | | |'
READ (*,110,END=40,ERR=40) (A(J), J = 1,10)
110 FORMAT (10(I3))
WRITE (*,100) (A(J), J = 1,10)
IF (A(1) .EQ. 0) THEN
GOTO 50
ENDIF
GOTO 30
40 WRITE (*,*) ' Wrong sort of data '
50 WRITE (*,*) ' Fixed format (F4.1) entry. when no more numbers.'
write (*,*) ' | | | | | | | | | |'
READ (*,120,END=60,ERR=50) (L(J), J = 1,10)
120 FORMAT (10(F4.1))
WRITE (*,130) (L(J), J = 1,10)
130 FORMAT (10(F4.1,1X))
IF (L(1) .EQ. 0) THEN
CALL EXIT
ENDIF
GOTO 50
60 CALL EXIT
END
program roots
C<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>
C Print out first k square roots
C This program illustrates the use of intrinsic functions to evaluate
C numbers
C<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>
print *, ' Enter number of square roots to be evaluated'
read *, k
j = 1
do while (j.le. k)
real = float(j)
root = sqrt(real)
strange = alog10(root**3)
print *, ' Root of ', j, ' is ',root
print *,'Alog10 of root cubed is ', strange
j = j + 1
enddo
end
On to Last lecture
Copyright (c) B. P. Levitt, H. S. Rzepa and ICSTM Chemistry Department, 1994, 1995.
Return to Index page