数据有格式输入输出ppt课件.pptx

上传人:小飞机 文档编号:1921813 上传时间:2022-12-26 格式:PPTX 页数:39 大小:826.10KB
返回 下载 相关 举报
数据有格式输入输出ppt课件.pptx_第1页
第1页 / 共39页
数据有格式输入输出ppt课件.pptx_第2页
第2页 / 共39页
数据有格式输入输出ppt课件.pptx_第3页
第3页 / 共39页
数据有格式输入输出ppt课件.pptx_第4页
第4页 / 共39页
数据有格式输入输出ppt课件.pptx_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《数据有格式输入输出ppt课件.pptx》由会员分享,可在线阅读,更多相关《数据有格式输入输出ppt课件.pptx(39页珍藏版)》请在三一办公上搜索。

1、中山大学环境科学与工程学院陆 希,数据有格式输入输出,一、概述,输入输出数据是否简洁、直观、醒目、规范,是反映程序质量的一项重要指标示例:某程序需输入3个学生4门课成绩数据,共输入12个数据,有两种输入方式: 78.5 85 58 98 75 88.5 99 45.5 84.5 69.5 77 82 数学 物理 化学 英语 输入第1位同学四门课成绩:78.5 85.0 58.0 98.0 输入第2位同学四门课成绩: 75.0 88.5 99.0 45.5 输入第3位同学四门课成绩: 84.5 69.5 77.0 82.0,输入分类输入提示,示例:某程序要输出3个学生4门课成绩数据,共输出12个

2、数据,有两种输出方式: 78.50000 85.00000 58.00000 98.00000 75.00000 88.50000 99.00000 45.50000 84.50000 69.50000 77.00000 82.00000 数学 物理 化学 英语 第1位同学成绩: 78.5 85.0 58.0 98.0 第2位同学成绩: 75.0 88.5 99.0 45.5 第3位同学成绩: 84.5 69.5 77.0 82.0,简洁直观醒目规范,输入:从外部设备将数据传送到计算机内存,输出:将计算机内部的数据传送到外部设备,一般应在输入输出语句中提供三方面的信息: (1) 通过什么设备来

3、进行输入输出。 (2) 采用什么样的格式来进行输入输出。 (3) 输入输出的具体内容。,二、格式输入输出程序,1、格式输出,1.1 PRINT语句,格式:PRINT f, 输出项,f:格式说明符,有三种形式:,(1) *,使用表控格式。,(2) (格式编辑符),例:PRINT (1X, 2F7.3),X,Y,(3) 格式语句(FORMAT)的语句标号。例如: PRINT 100, A, B, C 100 FORMAT(1X, F9.4, 2F7.3),输出项可以是变量、常量、函数以及表达式。此外,输出项还可以是隐含DO循环。,1.2 WRITE语句,格式:WRITE( u, f ) 输出项,U

4、:设备号,用于指明使用的输入输出设备。可以是一个整型量,也可以是星号*,*指系统隐含指定的外部设备,一般为显示器。,f:格式说明符,用法与PRINT语句相同。,二、格式输入,格式: READ f , 输入项 READ( u , f ) 输入项,输入项可以是变量,也可以是隐含DO循环。,U:设备号 f:格式说明符,三、格式说明语句,格式: 语句标号 FORMAT(格式编辑符),例如: 10 FORMAT(1X, I4, F5.1),格式说明语句是非执行语句,它只是给输入输出语句提供数据的格式描述。,格式说明语句可以放在程序单位语句(主程序语句PROGRAM,子程序语句FUNCTION或SUBRO

5、UTINE)之后,END语句之前的任何位置。,四、常用的编辑符,1、 可重复编辑描述符,可重复编辑描述符与输入输出项相对应。不同类型的输入输出项使用不同的编辑描述符。,1.1 整型数据编辑描述符 (I,B,O,Z),I 编辑符 用于十进制整数的输入输出。,格式: rIw,r:重复系数,为1时可以省略。w:字段宽度。,输入:在输入记录中从左往右取w个字符存入对应的输入项。取得的w个字符必须是整数,正负号也占一个字符位置,空格也占一个字符位置,但不起作用。输入数据间可按规定域宽紧密输入,也可用逗号间隔输入,不用空格,例如:READ(*, 10) I, J, K 10 FORMAT(I4, I5,

6、I6)输入714-346-12345则 I, J, K 的值分别为:714、-346和-123。,输出:数字在指定的w字段宽度中向右端靠齐,左补空格。当w位数不足时,将输出w个“*”。,例如:WRITE(*,10) K, L 10 FORMAT(1X, I5, I4)当K=12,L=-7567时,输出结果为:12*,(2) B, O, Z 编辑符。这是FORTRAN 90新增的编辑符。分别采用二进制、八进制和十六进制形式描述整型量的输入输出。其基本用法与I 编辑符相同。,输入例子: INTEGER(2) i,j,k READ 10,i,j,k 10 FORMAT(I4,2I5) !等价于FOR

7、MAT(I4,I5,I5),输出例子READ *,i,j,k 10 FORMAT(1X, i=,I4, j=,I4, k=,I4) PRINT 10,i,j,k END,1.2 实型数据编辑描述符(F, E),(1) F 编辑符,用于实型量的小数形式输入输出。,格式: rFw.d,r:重复系数 w:字段宽度d:输入输出的小数位数,输入:按w指定的字段宽度从输入记录中截取数据,若截取的数据中不带小数点,则系统按d自动加上小数点;若数据自带小数点,此时d不起作用,自带小数点优先。输入数据可紧密输入,也可逗号间隔。逗号有强行终止域宽作用。,在规定域宽内,数字前后,数字之间可出现空格,一般空格被视为空

8、。 在规定域宽内,全为空格,输入实数为0.0。在规定域宽内,可按指数形式输入数据,小数部分小数点d值确定。在规定域宽内,输入数据不能超出取值范围。对于F编辑符,输入表中对应变量类型必须是实型或复型。,例如: READ(*, 10) A, B 输入123456726.89 10 FORMAT(F7.2, F6.1) 则A、B的值分别为 1234.56 和 726.89,输出:w实际位数时,左补空格 w实际位数时,输出w个“*”实际位数:整数位数 + 小数位数 + 小数点 + 负号实际小数位 d,保留 d 位,对 d1 位四舍五入,例如: WRITE(*, 10) A, B, C 10 FORMA

9、T (1X, 3F8.3) 当A、B、C的值分别是78.9、-0.00072、12345.678时, 输出为: 78.900-.001*,输入程序例子: READ 10,a, b, c 10 FORMAT(2F5.2,F8.3),输出程序例子: READ *,a,b WRITE(*,10) a,b 10 FORMAT(1X,a=,F7.3,b=,F7.3) END,(2) E编辑符,E 编辑符可用于指数型实数的有格式输入输出,一般格式是: rEw.dEe其中:r为F编辑符重复次数。即:rEw.dEe 等价于Ew.dEe,Ew.dEe,Ew.dEe。 w为指数型实数输入输出域宽,即实数占连续字符

10、个数。 d为小数位数,其含义同F编辑符。 e为指数位数,缺省为2,不包括E和符号,指数域宽e+2。输入规则:与F编辑符完全相同输出规则:采取格式化的指数形式,即数字部分小数前面为0,小数点后第一 位为非0数字。如果输出项数字部分的小数位数多于d位,保留d位,从d+1位四舍五入;如果小于d位,在其右边补0.,说明:用F,E编辑符输入时,它们的作用相同.例如:READ(*,100)A,B,C,D100 FORMAT(F8.3,E8.3,E8.3,F8.3)如果输入数据为:0.234 234 234E+00 2.34E-01则A,B,C,D的值均为0.234,输出例子: READ *,a,b WRI

11、TE(*,10) a,b 10 FORMAT(1X,a=,E10.5,b=,E11.5) END,1.3 复型数据编辑符,FORTRAN没有专门的复型格式编辑符。对复数的输入/输出,用输入/输出两个实数(复数的实部和虚部)来实现。例如:,COMPLEX CM READ(*, 10) CM WRITE(*, 20) CM 10 FORMAT(2F5.2) 20 FORMAT(1X,2F7.2) 输入1234567890,则输出为: 123.45678.90,1.4 逻辑型数据编辑符,格式:rLw,其中:r为L编辑符重复次数。即:rLw等价于Lw,Lw,Lw。 w为逻辑值输入输出域宽,即逻辑值占连

12、续字符个数。 缺省w,域宽为2在输入时,输入的数据可以是.TRUE.或.FALSE.,也可以是头一个字母为 T 或 F 的任何字符串( T或F 前面可以接“.”或空格,后面可以是任意字符)输入原则:域宽内首个非空格或非小数点“.”字符是“T”或“t”,则输入为.TRUE.。域宽内首个非空格或非小数点“.”字符是“F”或“f”,则输入为.FASLE.。在域宽内,字母T、t、F、f后可跟任意字符,不影响逻辑值输入。 逻辑值间可用逗号分隔,不用空格。输入逻辑值.TRUE.,域宽必须大于5。输入.FASLE.,域宽必须大于6。,输入示例: LOGICAL log1,log2,log3,log4 REA

13、D 26,log1,log2,log3,log4 26 FORMAT(L,L1,L2,L3)输入:TFTAFB 值:log1= .TRUE.,log2=.FASLE.,log3=.TRUE.,log4=.FASLE.,输出原则在指定域宽内右对齐输出T(.TRUE.)或F(.FALSE.)。 示例: LOGICAL log1,log2,log3,log4 Log1=.TRUE.;log2=.TRUE.;log3=.FALSE.;log4=.FALSE. PRINT 27,log1,log2,log3,log4 27 FORMAT(L,L1,L2,L3) END 输出:TTFF,1.5 字符型数据

14、编辑符,A 编辑符可用于字符串的有格式输入输出,一般格式是: rAw其中:r为A编辑符重复次数。即:rAw等价于Aw,Aw,Aw。 w为字符串输入输出域宽,即字符串占连续字符个数。 缺省w,域宽为输入和输出表中对应字符型变量的长度。,输入原则:域宽等于变量长度,按域宽依次截取字符串,赋予变量,不足补空格。 域宽小于变量长度,按域宽依次截取字符串,补足空格后赋于变量。域宽大于变量长度,按域宽依次截取字符串,取后部字符赋于变量。 缺省域宽,域宽默认取输入表对应字符型变量长度。 输入字符串不能加引号。引号、逗号和空格按一般字符对待。,输入例子: CHARACTER s1*5,s2*4,s3*3,s4

15、*3 READ 24,s1,s2,s3,s4 24 FORMAT(A5,A4,2A3),输出原则域宽等于表达式值长度,则按域宽输出字符串,字符串中空格有效。 语句:PRINT (1X,#,A15,#), ABC/DEFG/HI/JK 输出:#ABCDEFGHIJK# 域宽小于表达式值长度,则按域宽截取左侧子字符串输出。 语句:PRINT (1X,#,A10,#), ABC/DEFG/HI/JK 输出:#ABCDEFG#域宽大于表达式值长度,则将表达式值左补空格至域宽输出。 语句:PRINT (1X,#,A18,#), ABC/DEFG/HI/JK 输出:#ABCDEFGHIJK# 缺省域宽,以

16、表达式值长度为域宽输出。 语句:PRINT (1X,#,A,#), ABC/DEFG/HI/JK 输出:#ABCDEFGHIJK#,1.6 不可重复编辑描述符,不可重复编辑描述符直接向当前输出记录传递信息,因此不需要输入输出项与其对应不可重复编辑符有:(1)X编辑符用于设置输入输出数据的开始位置。对输出,从当前位置开始插入若干空格,下一输出数据从新位置开始进行。 对输入,从当前位置开始右移若干字符,下一输入数据从新位置开始进行。,例:I=146; A=124.32; B=1247.32 WRITE(*, 10) I, A, B 10 FORMAT(1X, I3, 2X, F6.2, 2X, E

17、11.5)输出:146124.32.12473E+04,例如: READ(*, 10)K, J, A 10 FORMAT( (2I3, 3X), E5.2 )输入:876-42193671E4则:K=876, J=-42, A= 67100.0其中非重复编辑符3X,跳过193这三个字符。,(2) H编辑符用于输出字符串,格式: nH n:正整数例如: WRITE(*,10) 345, “HELLO!”10 FORMAT(1X,2HI=,I4,C=,A)输出I=345C=HELLO!,(3) 撇号编辑符 用于输出字符串,例:I=123; J=2347 WRITE(*, 10) I, J 10 F

18、ORMAT(1X, I=, I3, 2X, J=, I4)输出:I=123 J=2347,(4) 斜杠编辑符,结束当前正在输入或输出的记录,开始下一个记录的输入输出。,例如:I=246; A=12.36; J=35; B=173.5 WRITE(*,10) I, A, J, B 10 FORMAT(1X, I3, F6.1/1X, I3, F6.1)输出:24612.4 35173.5,(5) 纵向走纸控制符,表5-1 可重复编辑符,表5-2 不可重复编辑符,1.7 输入输出项与编辑符的相互作用,(2)如果可重复编辑符的个数少于输入输出项的个数,则按顺序用完最后一个可重复编辑符之后,再重复使用格式说明,但产生一个新记录。,例如: WRITE(*,10) I, A, J, B 10 FORMAT(1X, I3, F6.1),输出:24612.435173.5,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号