fortran第4章(条件).ppt_第1页
fortran第4章(条件).ppt_第2页
fortran第4章(条件).ppt_第3页
fortran第4章(条件).ppt_第4页
fortran第4章(条件).ppt_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

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

文档简介

a)关系运算符关系运算符 关系运算符就是关系比较符。关系运算符就是关系比较符。Fortran中有六个关系中有六个关系 运算符运算符 : 2关系表达式求值的过程是:先分别计算两个表达关系表达式求值的过程是:先分别计算两个表达 式的值,然后将他们进行比较式的值,然后将他们进行比较 1关系表达式的值是一个逻辑常数关系表达式的值是一个逻辑常数 即即 TRUE或或 FALSE 例例: A*B.GE.C+D (设设:A=2.0,B=3.5,C=2.3,D=6.2) 先计算先计算 A*B和和C+D的值的值 ,然后判断然后判断 7.0.GE.8.5结果不结果不 成立其值为成立其值为 .FALSE. 3.当两个算术关系表达式的数据类型不相同时当两个算术关系表达式的数据类型不相同时,求值求值 过程为过程为 : 将两个算术表达式化为同一类型然后比较将两个算术表达式化为同一类型然后比较. 转换规律是将低级类型向高级类型转换。因此转换规律是将低级类型向高级类型转换。因此 ,执行关系表达式的过程为:算出算术表达式的值,执行关系表达式的过程为:算出算术表达式的值 ;将两个算术表达式值转换成同一类型;将两个表;将两个算术表达式值转换成同一类型;将两个表 达式的值进行比较。达式的值进行比较。 具体操作是具体操作是 : 将将e1 RELOP e2 写成写成 (e1)-(e2) RELOP 0 即对两个算术表达式求差即对两个算术表达式求差,然后与零进行比较然后与零进行比较,其其 中零的类型与表达式中零的类型与表达式(e1)-(e2)的类型相同的类型相同 . 如如: X*X.LT.2*J 可写作可写作 : X*X-2*J.LT.0.0 4.当算术表达式是非整型时尽量不用关系运算符当算术表达式是非整型时尽量不用关系运算符 .EQ. 和和.NE.因为实型数在计算机中不能保证完全精因为实型数在计算机中不能保证完全精 确确. 例例 X,Y的实型值为的实型值为 5.0,在计算机中可能为在计算机中可能为 5.000001或或4.999999 5.除了算术量可进行比较外,字符关系表达式可对除了算术量可进行比较外,字符关系表达式可对 两个字符量进行比较。两个字符量进行比较。 对数学式对数学式 X=Y的关系运算可用:的关系运算可用:ABS(X-Y).LT.1.E-30 ; 对对XY可用:可用: ABS(X-Y).GT.1.E-30。 a) 逻辑量逻辑量 Fortran的逻辑常量:的逻辑常量: .TRUE. (表示表示 “真真”,即满足逻辑条件,即满足逻辑条件); .FALSE. (表示表示 “假假”,即不满足逻辑条件,即不满足逻辑条件)。 例:当例:当 X=3时,时, “X1) Y=1 注意本例中不可写成:注意本例中不可写成: IF(X0AND.K=N) Y=K+X 例:打印学生考试成绩,大于等于例:打印学生考试成绩,大于等于80分的为分的为 “A”,大于大于 等于等于 60分而小于分而小于 80分的为分的为 “B”,小于小于 60分的为分的为 “C”: READ *,GRADE IF(GRADE.GE.8O) PRlNT *,”A” IF(GRADE.GE.6O .AND. GRADE.LT.80) PRlNT *,”B” IF(GRADE.LT.6O) PRlNT *,”C” 逻辑逻辑 IF语句语句 当条件为当条件为 “真真”时只能执行一个执行语句而时只能执行一个执行语句而 不能执行若干个语句不能执行若干个语句。与块。与块 IF相比,逻辑相比,逻辑 IF语句是在一语句是在一 行中完成的一个选择操作,因此它又称行中完成的一个选择操作,因此它又称“行行IF语句语句 ”以以 与块与块 IF区别。区别。 逻辑逻辑 IF语句名称,是沿用了语句名称,是沿用了Fortrn66的定义,因为在的定义,因为在 F66中中 有两种有两种 IF语句:算术语句:算术 IF语句语句 (F90/95中已废除中已废除 )和逻辑和逻辑 IF语句语句 。 块块IF语句嵌套语句嵌套 ELSE IF语句语句 格式格式 :IF () THEN (IF块块) ELSE IF () THEN (ELSE IF 块块) . ELSE (ELSE块块) ENDIF IF ( ) THEN ELSE IF ( ) THEN ELSE ENDIF ENDIF 功能功能 :构成多重选择构成多重选择 . ELSE IF () THEN 是一条语句是一条语句 嵌套:嵌套: READ *,X IF (X.GT.0.0)THEN Y=1.0 ELSE IF (X.EQ.0.0)THEN Y=0.0 ELSE Y=-1 ENDIF ENDIF PRINT *,X=,X,Y=,Y END 多重:多重: READ *,X IF (X.GT.0.0)THEN Y=1.0 ELSEIF (X.EQ.0.0)THEN Y=0.0 ELSE Y=-1 ENDIF PRINT *,X=,X,Y=,Y END 补充:给补充:给 3个数个数 A、B、C,请按从小到大的顺序请按从小到大的顺序 将这将这 3个数排序,个数排序, ABC。 五五 分块选择结构中的空块分块选择结构中的空块 在分块条件语句中在分块条件语句中,THEN或或ELSE后的语句块没有后的语句块没有 时时,即称之为空块即称之为空块 . 说明说明 :空块前的空块前的 ELSE也可省也可省 ,但保留后更加清楚但保留后更加清楚. 六六块块IF语句应用注意事项语句应用注意事项 1. 不允许从不允许从 IF块块、ELSE块外把控制转移到块外把控制转移到IF块块、 ELSEIF 块块, ELSE块内块内 . 2. ELSE语句语句 、ELSEIF语句不应有语句标号语句不应有语句标号,即使有即使有 也不允许任何语句使用也不允许任何语句使用. 例例: IF (.) THEN 10 : ELSEIF (.) THEN 20 : ENDIF GOTO 10 GOTO 20 3. 若在若在 IF块块、ELSE块块ELSE IF块中出现块中出现 GOTO语句或语句或

温馨提示

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

评论

0/150

提交评论