程序设计第3章.ppt_第1页
程序设计第3章.ppt_第2页
程序设计第3章.ppt_第3页
程序设计第3章.ppt_第4页
程序设计第3章.ppt_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第3章 简单结构程序设计,FORTRAN90程序结构 赋值语句 输入、输出语句 格式编辑符及格式语句 其他一些语句,3.1 FORTRAN90程序分析,【例】看下面一个简单的例子 已知长方形的两边为A,B,求 (1)长方形的面积S (2)长方形的周长L,程序如下:,PROGRAM JS !主程序语句 IMPLICIT NONE REAL:A,B,S,L !说明语句 READ*,A,B S=A*B;L=2*(A+B) PRINT *,S,L END PROGRAM JS,JS称为主程序名,其命名规则与变量名的命名规则相同,程序结束语句,FORTRAN 90程序组成:, PROGRAM 程序名 说

2、明语句 执行语句 END PROGRAM 程序名 其中:方括号 表示是可选项。,编写FORTRAN90程序必须遵循:,(1)没有程序名时,PROGRAM必须省略。 (2)END语句是必须要有的,它表示程序结束。 (3)FORTRAN90不区分大、小写,本教材一律采用大写字母。 (4)一行若写多个语句,则语句之间用“;”分隔,最后一个语句后面无符号。 (5)空一行表示空语句,是有意义的。,对一行语句的说明:,一行可由0132个字符组成 可以有注释语句(以!开始),可以单独占一行,也可以在某个语句后面。 可以有续行语句(以B=-756.567;C=870.2 PRINT 100,A,B,C 100

3、 FORMAT(1X,E15.6 ,E12.4,E9.3 ),这里1X作为纵向走纸控制符,若没有这个编辑符,则数据中第一个数据将被“吃掉”。 请同学注意:任何带格式输出的语句,第一个编辑符一定是1X。,(2) 实型数据,(3)复型数据,由于复数在内存中是以两个实数的存储单元存储的,在输入输出时,以两个实数的编辑符来提供复数输入输出的格式。,例题: COMPLEX:A READ (*,100)A PRINT 200,A 100 FORMAT(F6.2,F6.2) 200 FORMAT(1X,F8.2,F8.2) END,(3)复型数据,(4)逻辑型数据,逻辑型数据编辑符为: L w,说明: 输入

4、 .TRUE.、.FALSE.或以T、F开头的单词,然后按照字段宽度截取。 输出时,w1个空格 一位逻辑值(T或F),(5)字符型数据,字符型数据编辑符为: A w 其中:w是字段宽度,若省略w,则以输入输出的字符型数据的长度作为字段宽度。,Aw 编辑符输入: 1. 格式输入字符时,不要带撇号; 2. 输入时两个常量之间不必用空格、逗号分隔;计算机根据W的长度自动截取。 例:设C1,C2是字符变量,定义的长度分别为4,2,语句:READ(*,(A4,A2)C1,C2 当输入:as1234df 则变量C1、C2的值为: C1=as12,C2=34,(5)字符型数据,注意在输入时: 1. 如果WL

5、,只取最右边的L个字符送给变量(即去掉最左的W-L个字符);(注意:输入不是最左边的L个字符,这是和表控输入不同的,表控输入时输入左边L个字符。),(5)字符型数据,输出时: 若WL,在字符前面添加W-L 个空格; 若WL,只输出最前面的W个字符 。,(5)字符型数据,【例】 CHARACTER(LEN=5):STR1 READ(*,100)STR1 PRINT 200,STR1 100 FORMAT(A6) 200 FORMAT(1X,A6) END 当输入A1S2D3时,结果是多少?,(5)字符型数据,(1)X编辑符,n编辑符在输入语句中表示跳过列数据不读,在输出语句中表示产生个空格。 案

6、例: PRINT 100,A,I 100 FORMAT(1X,F5.2,3X,I4) END,FORTRAN规定:将输出的第一个字符作为纵向走纸控制符,这个字符将不再被打印出来,而从输出记录的第二个字符开始输出。,2. 控制编辑符,(2) 撇号编辑符,撇号编辑符只能用于输出,作用是输出一个由撇号界定的字符串。 案例: PRINT 100,I,J 100 FORMAT(1X,I=,I3,J=,I4) END,2. 控制编辑符,定位编辑符控制输入输出的位置,通常称为制表位。 定位编辑符有: Tn:制表位移动到第n列(绝对移动); TLn:制表位向左移动n列(相对移动); TRn:制表位向右移动n列

7、(相对移动)。 其中n是无符号、无种别参数的整常数。,2. 控制编辑符,(3) 定位编辑符,斜杠( / )编辑符作用是结束本记录的输出并开始下一个记录的输出。(即换行) 案例: PRINT 100,I,J 100 FORMAT(1X,I=,I3 / 1X,J=,I4) END 100 FORMAT(1X,I=,I3 /1X, J=,I4) 100 FORMAT(1X,I=,I3 / 1X,J=,I4/),2. 控制编辑符,(4)斜杠(/)编辑符,3.4.2 格式输入与格式输出,1. 格式说明语句 一般形式: FORMAT ( 格式说明) 其中:S是本程序单位中一个格式说明语句的语句标号,它是一

8、个不超过5位的正整数。FORMAT是关键词,格式说明是一个由若干项编辑符组成的编辑描述符表。,案例: 10 FORMAT ( 1X , I1 , E8.1 ) 注意:FORMAT语句中对于格式说明部分不使用引号。 格式说明部分允许使用括号对编辑符进行组合,且可以使用多重括号进行嵌套。 FORMAT语句中最大允许16层括号的嵌套。,3.4.2 格式输入与格式输出,格式说明语句是一个非执行语句,它仅仅给输入输出语句提供数据的格式描述,在程序运行中由输入输出语句根据格式说明语句提供数据的格式描述信息,实现数据传输中的格式控制。 输入输出语句是通过格式说明语句的语句标号和格式说明语句建立联系。它们之间

9、的位置关系没有规定,格式说明语句出现在使用它的输入输出语句前后结果是一样的。,3.4.2 格式输入与格式输出,2.输入输出语句与格式说明语句的共同作用,格式输入输出的一般形式为: READ ( * , S) 输入表 WRITE ( * , S) 输出表 PRINT S,输出表 其中,S是格式说明语句的标号。,3.4.2 格式输入与格式输出,还可以采用下面的形式: READ (*,(格式说明) 输入表 PRINT (格式说明),输出表 下面我们就第1种形式的格式语句给予说明。,3.4.2 格式输入与格式输出,()输入输出语句中的变量个数与FORMAT语句中的数据编辑符的个数可以相等,也可以不相等

10、。如果变量个数少于数据编辑符个数,则多余的编辑符不起作用。 同学看教材P43 表3.6。,3.4.2 格式输入与格式输出,()如果变量个数多于数据编辑符的个数,则当格式说明中的数据编辑符扫描完之后,输入输出表中还有未处理的变量。这时,将格式说明重新扫描,同时开始一个新记录。 同学看教材P43 表3.7。,3.4.2 格式输入与格式输出,()若格式说明中包含数据编辑符组,需要将格式说明重新扫描时,仅扫描最右边的数据编辑符组(包括重复因子)和它右边的编辑符。 同学看教材P43 表3.8。,3.4.2 格式输入与格式输出,(4)输出时,格式说明中数据编辑符需要相应的输出变量才能组织输出,控制编辑符则

11、不需要对应输出变量而直接输出。 (5)输出时格式编辑符串中的第一项“1X”作为“纵向走纸控制”是必须有的,否则,计算机将把待输出的第一个字符作为纵向走纸控制符,这个字符将不再被打印输出。输入时,X编辑符表示在读输入数据时跳过若干列。 如语句:READ(*,(2X,I3)A中,2X表示跳过2列的数据不读,此时若输入数据:123456,则A=345。,3.4.2 格式输入与格式输出,两种格式说明的等价形式:,案例: READ(*,100)I,J 100 FORMAT ( I3,I4) PRINT 200,I,J 200 FORMAT ( 1X,I4,I5),READ(*, ( I3,I4) I,J

12、,PRINT (1X,I4,I5),I,J,3.5 参数说明语句,3.5.1 类型说明中的PARAMETER属性 用一个符号来代表一个常量,称为符号常量(命名常量)。常数的这种性质称为数据属性。 类型说明中的PARAMETER属性的一般格式:,类型,PARAMETER,其它属性:符号常数名=常数表达式,3.5.2 PARAMETER语句,一般形式:PARAMETER (符号常量名=常量表达式) 说明: 1.在一个语句中可以定义多个符号常量。 2.与赋值语句不同,PARAMETER是一个非执行语句,它应该写在所有可执行语句之前。在程序定义一个符号常量后,不能再改变它的值。 3.使用符号常量好处是

13、:如果需要改变某一常数时,不需一一改变这个常数,只需改变参数语句中符号常量的值即可。 4.符号常量不能作为语句标号,也不能出现在FORMAT语句中替代常数。,3.6 其他常用语句,PROGRAM语句 END语句 STOP语句 PAUSE语句,3.6.1 PROGRAM语句,1. 在主程序中,用PROGRAM语句为主程序命名。 PROGRAM语句的一般形式为: PROGRAM 程序名 2. FORTRAN 90允许主程序可以没有主程序名,这时PROGRAM语句应该省略。但程序中只要有PROGRAM语句,主程序名就不能省略。,3.6.2 END语句,1.每一个程序单位必须有一个END语句。 END

14、语句作用: (1) 结束本程序单位的运行; (2) 作为一个程序单位的结束标志。 2.主程序中END语句的作用是使程序结束运行,使控制回到操作命令状态;而子程序中的END语句,一方面作为子程序的结束标志,一方面使流程返回调用程序。,3.6.3 STOP语句,1. STOP语句是“停止运行”,一个程序执行到任一个STOP语句处时,程序即停止运行。 2. STOP语句的一般形式为: STOP N 3. 为了使用户能清晰地辨别出是哪一个STOP语句使程序停止运行的,需要在执行STOP语句时,输出所需的信息。,N是5位无符号整数或是字符串,3.6.4 PAUSE语句,1. 执行PAUSE语句,系统只是把程序的执行暂时“挂起来”,等待程序操作员输入其他操

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论