FORTRAN语言第6章(共8章)

上传人:无*** 文档编号:243967400 上传时间:2024-10-01 格式:PPT 页数:34 大小:1.66MB
返回 下载 相关 举报
FORTRAN语言第6章(共8章)_第1页
第1页 / 共34页
FORTRAN语言第6章(共8章)_第2页
第2页 / 共34页
FORTRAN语言第6章(共8章)_第3页
第3页 / 共34页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,FORTRAN77/90-第六讲 格式输入输出语句,第六讲 格式输入输出,输入输出的三种不同的格式:,1,表控格式的输入输出,2,有格式的输入输出,3.,无格式的输入输出,要素:,1,在什么外部设备上输入或输出,2,用什么格式输入输出,3,输入输出哪些数据,按照系统隐含的标准格式在默认的,I/O,设备上进行,I/O,操作。,按照用户要求的格式在指定的,I/O,设备上进行数据,I/O,操作。,不管数据的具体类型,一律以二进制的形式进行,I/O,操作 。,REAL*4 I,J,K,I=12345.67890,J=98765.4321,K=I*J,WRITE(*,*)I=,I,7788J=,J,K=,K,END,第三讲 格式输入输出,第一节 格式输入输出语句,格式输出语句有两个:,PRINT,语句和,WRITE,语句,一般形式,PRINT f,,输出项,WRITE(u,,,f),输出项,1,、其中:,f,是格式说明符,指明了输出所用的格式。,它有,3,种形式,1,)格式说明符是一个“,*,”,表示输出使用表控格式。,2,)格式说明符是一个字符常量。例如,PRINT(1X,2F7.3),,,X,,,Y,WRITE(*,(1X,,,2F7.3)X,,,Y,3),格式说明符是格式语句,FORMAT,的语句标号。这是最常用的格式输出形式。例如,PRINT 100,,,X,,,Y,100 FORMAT(1X,,,2F7.3),WRITE(*,200)A,,,B,,,C,200 FORMAT(1X,,,F9.4,,,2F7.3),第三讲 格式输入输出,格式输出语句有两个:,PRINT,语句和,WRITE,语句,一般形式,PRINT f,,输出项,WRITE(u,,,f),输出项,2,、输出项指定了输出的具体内容。可以是,变量、常量、函数以及表达式。此外,输出项还可以是隐,DO,循环,。,3,、,u,是设备号,用于指明具体使用的输出设备。,u,可以是一个无符号整常量,也可以是一个整变量或整型表达式,还可以是星号,*,。,*,表示由计算机系统预先约定的外部设备,一般为显示器。,FORTRAN,语言用专门的格式说明来描述输入输出的格式。尽管格式说明可以直接放在输入输出语句中,但为了使程序的可读性更强,最好使用格式说明语句来进行格式说明。格式说明语句的一般格式是:,第二节 格式说明语句,n FORMAT(,格式说明,),n,是语句标号,,FORMAT,语句一定带有语句标号,以便同格式输入输出语句配合使用;格式说明由若干个编辑描述符组成,编辑描述符之间用逗号分隔。如,10 FORMAT(1X,I4,F5.1),格式说明语句,(FORMAT,语句,),是非执行语句,,它只是给输入输出语句提供数据的格式描述。在程序运行过程中,由输入输出语句根据格式说明语句提供的数据格式描述,实现数据的格式控制。单独的格式说明语句在程序中不起任何作用。,格式说明语句可以放在,程序单位语句,(PROGRAM,语句或子程序,FUNCTION,或,SUBROUTINE,语句,),之后,,END,语句之前的任何位置,。,第二节 格式说明语句,编辑描述符,可分成两大类:,第三节 常用的编辑描述符,可重复编辑,描述符,非重复编辑,描述符,用来编辑输入输出项的输入输出格式,所以,总是与输入输出项相对应,。,不同类型的输入输出项使用不同的编辑描述符,。,FORTRAN,提供的内部数据类型有整型、实型、复型、逻辑型和字符型。相应地,编辑描述符也分,5,类。,编辑描述符,可分成两大类:,第三节 常用的编辑描述符,非重复编辑,描述符,直接向当前输出记录传递信息,因此,不需要输入输出项与其对应。,非重复编辑描述符有:,X,编辑符、,撇号编辑符,、斜杆编辑符。,一、可重复编辑描述符,第三节 常用的编辑描述符,1,、,I,编辑符,I,编辑符用于规定整型数据的输入输出格式,其一般形式为:,I,或,I.m,用,I,编辑符进行整型数据输出时,遵循下列规则:,1),如果实际输出的整数数字位数小于,,则在输出整数的所有数字的左边用空格来补满整个场宽;,M=10;N=100,WRITE(*,10)M,N,10 FORMAT(1x,I3,I5,),END,10,100,走纸,控制,后面讲解,在此为换行之意,1,、,I,编辑符,用,I,编辑符进行整型数据输出时,遵循下列规则:,2),如果实际输出的整数数字位数小于,m,,则在输出整数的所有数字的左边用,“,0,”,来补足到,m,位数字;如果数字的位数超过了,m,则按实际应输出的位数输出,(,但条件是不能超过,),。,m,不包括负号所占的一列;,M=10;N=100,WRITE(*,10)M,N,10 FORMAT(1x,I3,I5.4,),END,10,0100,1,、,I,编辑符,用,I,编辑符进行整型数据输出时,遵循下列规则:,3),如果实际输出的整数数字位数大于,,则在字段宽度范围内均用,“,*,”,输出,以表示规定的场宽不够,无法正常输出该整数。,M=10;N=1000,WRITE(*,10)M,N,10 FORMAT(1x,I3,I3,),END,10,*,10 FORMAT(1x,I3,I4,),10,1000,数据首尾相连,W,不够大,宽度不够,输出,W,个*,2,、,F,编辑符,F,编辑符用来规定实型数据的输入输出格式,其一般形式为:,F.d,F,编辑符用于输出小数形式的实数时,遵循下列规则:,1),在实际输出一个实数时,由于实数的符号和小数点均要单独占一位,并且,小数点前面还可能有若干位整数部分的数字,因此,在编辑符中要求,b+d+2,,其中,b,为整数部分的位数;,2),如果,d,小于实际需要输出的实数小数部分的位数,则小数部分最右边的多余数字将被截去;如果,d,大于实际需要输出的实数小数部分的位数,则在小数部分的最右边用,0,来补足所规定的位数;,A=2.0,B=3.14,S=A*B,WRITE(*,10)A,,,B,,,S,10 FORMAT(1x,F6.2,F6.2,F6.2,),END,3.14,6.28,2.0,0,F,编辑符应用实例,d,大于实际需要输出的实数小数部分的位数,A=2.0,B=3.145,S=A*B,WRITE(*,10)A,,,B,,,S,10 FORMAT(1x,F6.2,F6.2,F6.2,),END,3.1,5,6.29,2.00,F,编辑符应用实例,d,小于实际需要输出的实数小数部分的位数,2,、,F,编辑符,F,编辑符用于输出小数形式的实数时,遵循下列规则:,1),如果,大于实际输出数据的数字位数,(,包括在小数部分最右边所补的数字,0),,则在输出数据的左边用空格补足;如果,小于实际输出数据的数字位数,则在字段宽度,(,即,),范围内均输出,“,*,”,号。,A=2.0,B=3.145,WRITE(*,10)A,,,B,10 FORMAT(1x,F6.2,F6.4,),END,*,2.00,E,编辑符也是用来规定实型数据的输入输出格式,其一般形式为:,E.d,;,E,编辑符用于输出格式化的,0.X XE XX,指数形式,输出规则:,数字部分小数前面为,0,,小数点后面第一位为非零数字,指数部分需占,4,列,(E,和指数符号位及两位指数,),。符号位、小数点前面的前导零和小数点也要各占,1,列。因此,在,E,编辑符的格式中,要求,d,6,;,如果输出项数字部分的小数位数多于,d,位,保留,d,位,从,d+1,位四舍五入;小于,d,位,在其右边补,0,。,如果,不够大,即,d,6,,则在字段宽度,的范围内均输出,“,*,”,号,以表示无法输出该实数;如果,d,7,,则在所有数字的左边用空格补足。,3,、,E,编辑符,READ(*,*)A,B,S=A*B,WRITE(*,10)A,,,B,,,S,10 FORMAT(1x,3E10.2,),END,2.0,3.2,.32E+01,.64E+01,.20E+01,E,编辑符应用实例,Aw,编辑符所对应的输出项一定占,w,个字符的宽度,但输出项实际包含字符的个数,L,可能与,w,不一致。,当,w=L,时,输出项所有的字符全部输出;当,wL,时,,输出项所有的字符全部输出,并且靠右对齐,,左补,w-L,个空格;若,wL,输出项最左边,w,个字符输出。当,w,省略时,按输出项的长度输出,这是最方便的形式。,CHARATER X*4,,,Y*10,X=BASIC,Y=FORTRAN,WRITE,(*,,10,),X,,,Y,10 FORMAT(1X,A7,A4),END,输出:,BASI,FORT,A7,A4,4,、,A,编辑符,字符型数据的输入输出格式用,A,编辑符,其一般形式为:,A,二、非重复编辑描述符,第三节 常用的编辑描述符,1,、,X,编辑符,用于在输入输出的常数之间插入空格。其一般形式是:,nX,其中,n,是正数,用于指明从当前位置向右跳过,n,个字符位置。这里,n,不能省略,即使,n,为,1,,也要写成,1X,。,READ(*,*)A,B,S=A*B,WRITE(*,10)A,,,B,,,S,10 FORMAT(1x,F6.2,2x,F6.2,2x,F6.2,),END,2.0,3.142,3.14,6.28,2.00,用于输出一个字符串。,例,READ(*,*)A,B,S=A*B,WRITE(*,10)A,,,B,,,S,10 FORMAT(1x,A=,,,F6.2,2x,A B=,F6.2,2x,S=,F6.2,),END,2.0,3.142,B=,3.14,S=,6.28,A=2.00,注:,如果输出的字符中包含撇号,则用两个连续的撇号代表一个要输出的撇号。,二、非重复编辑描述符,2,、撇号编辑符,3,、斜杆,描述符,(/),作用,:,结束当前正在输出的记录,并转入下一记录开始输出。,例,READ(*,*)A,B,S=A*B,WRITE(*,10)A,,,B,,,S,10 FORMAT(1x,A=,,,F6.2/1x,B=,F6.2/1x,S=,F6.2,),END,2.0,3.142,B=,3.14,S=,6.28,A=,2.00,记录,1,记录,2,记录,3,一个,WRITE,语句输出打印了三行信息,这是由于,FORMAT,语句中有两处斜杠,使之产生三个输出记录(注意,斜杠之后也有一个“,1X”,,使第二个记录的第一个字符为“空格”,作为纵向走纸符)。,二、非重复编辑描述符,3,、斜杆,描述符,(/),例:,I=246;A=12.36;J=35;B=173.5,WRITE(*,100)I,A,J,B,100FORMAT(1X,I3,F6.1/1X,I3,F6.1),END,如果有两个连续的斜杠,如:,输出完第一行后,空一行,再输出第二行。,即:,24612.4,(空一行),35173.5,如果在编辑符的最后出现斜杠,,如:,100FORMAT(1X,I3,F6.1/1X,I3,F6.1/),输出完第二个记录后,再输出一个空行。即:,24612.435173.5,(空一行),FORTRAN,规定,将输出记录中的第一个字符作为纵向,走纸控制符,这个字符不输出,而从输出记录的第二,个字符开始输出。,三、打印机的走纸控制,WRITE,(*,,10,),olist,10 FORMAT(1x,),10 FORMAT(0,),10 FORMAT(1,),10 FORMAT(+,),WRITE,(*,,10,),123,4567,10 FORMAT(1x,I3,2X,I4),按本来意义,,1X,产生一个空格,应输出:,1234567,但按,FORTRAN,规定,将将输出记录中的第一个字符作为,纵向走纸控制符,所以实际输出是在走纸一行之后,输出,1234567,若不在输出记录的第一个字符处增加一个空格,则系统将,应该输出的第一个字符,作为纵向走纸控制符,从而使本来
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!