大小写的 ASCII 码值之差等于 32 CHARACTER( LEN =*) ::x,y DO i=1, LEN(x) IF(x(i: i) >= ‘A’.AND. x(i :i) <= ‘Z’) THEN y( i: i)= CHAR( ICHAR( x(i: i))+ constant ) ELSEIF (x(i: i) >= ‘a’.AND. x(i :i) <= ‘z’) THEN 20 11 ~20 12 学年第二学期 FORTRAN 期末考试卷 A卷第 10页共 12页 y( i: i)= CHAR( ICHAR( x(i: i))- constant ) ELSE y( i: i)=x(i: i) ENDIF ENDDO END FUNCTION change 6、下列程序执行后,输出的第二行是( 11) ,第三行是( 12)。 PROGRAM MAIN IMPLICIT NONE INTEGER:: I,K K=3 DO I=1,K PRINT *,‘ I=’, I, FACT(I) END DO CONTIANS INTEGER FUNCTION FACT(N) INTEGER :: N,T,J T=2 ; J=2 T=N**J +T FACT =T END FUNCTION FACT END 7、下列程序执行后, 输出的第一行是( 13), 第三行是(14) 。 PROGRAM MAIN IMPLICIT NONE TYPE ROW INTEGER,DIMENSION(:),POINTER::R END TYPE INTEGER ::i TYPE(ROW),DIMENSION( 1:3 ) ::s,t DO i =1, 3 ALLOCATE (t(i )%R(1: i )) t(i). R(1: i )=i END DO s =t DO i =1, 3