网站大量收购独家精品文档,联系QQ:2885784924

fortran第4章[条件].pptVIP

  1. 1、本文档共58页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
fortran第4章[条件]

   第四章 逻辑运算和选择结构;a)关系运算符 关系运算符就是关系比较符。Fortran中有六个关系运算符:;b) 关系表达式 关系表达式是最简单的一种逻辑表达式。其一般形式为: 算术表达式 关系运算符 算术表达式 字符表达式 关系运算符 字符表达式 算术表达式也可以是一个算术量,即为一个数值常数、数值型变量、数值函数。 例:A+B = 0. → A+B .LE. 0. A*B \= C/D → A*B .NE. C/D 注意: 1)关系表达式中关系操作符只准出现一次。 2)数学中不等式写法与FORTRAN中关系表达式的写法有同有异,不可随意使用数学中的习惯用法, 例如语句写法 3<X<7 就是不正确的关系表达式;2.关系表达式求值的过程是:先分别计算两个表达 式的值,然后将他们进行比较.;3.当两个算术关系表达式的数据类型不相同时,求值 过程为: 将两个算术表达式化为同一类型然后比较. 转换规律是将低级类型向高级类型转换。因此,执行关系表达式的过程为:算出算术表达式的值;将两个算术表达式值转换成同一类型;将两个表达式的值进行比较。;4.当算术表达式是非整型时尽量不用关系运算符.EQ. 和.NE.因为实型数在计算机中不能保证完全精确.;4.3 逻辑表达式;b) 逻辑运算符 Fortran有5个逻辑运算符,每个操作符两边都有一点,不可省略: ; 逻辑非.NOT. 例: 3.5.GT.2 其值为 .TRUE. .NOT.(3.5.GT.2)其值为.FALSE.; ; 逻辑表达式中包含算术运算符、关系运算符和逻 辑运算符,它们的运算优先次序如下表:;注: a.关系符只能用于两个数值量的大小比较, 不能 .TRUE..EQ.Y b.不能将逻辑运算符和关系符连用。 即用A.NOT..EQ.B 表示A≠B. C.在关系表达式中一个算术表达式只能与一个关系符 相邻,不能在两侧都出现关系符.;例1:若A=1.5,B=2.0,C=1.2,X=3.0,Y=5.0,L1为真,有逻辑表达式;例2: 已知 A=.FALSE. , B=.FALSE. , C=.FALSE. , X=11.5, Y=1.6 , Z=41.5 X.LT.Y.OR.X+Y.GT.Z.AND..NOT.(A.EQV.B.OR.C) ;IF语句不是一种选择结构,只是一条语句,它在算法较简单的场合下,可以灵活地完成二分叉选择算法。 执行过程: 如果条件成立(即逻辑表达式值是‘真’),则执行其后紧跟的执行语句,而后执行下一条语句; 如果条件不成立,则整个IF语句不作任何操作,只是起下滑作用,使控制转移到IF语句的下一个语句。;IF语句最大的用处是退出迭代。计算机程序中经常作连加、连乘或反复执行某段程序,并规定只有当某个参数大于或小于某值时才停止循环,这时就可以使用IF语句。IF语句用于两分叉选择的例子 如:求数学中的阶梯函数 ( )可写成: Y=0 IF(X1) Y=1 注意本例中不可写成: IF(X=0) Y=0 Y=1 ;例:IF(X0..AND.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语句也常与GOTO语句合用,但如果过多使用,程序结构将显得混乱,难于理解。应尽可能采用结构化的程序设计方法。 ! F90的固定格式 -----统计学生考试合格人数 INTEGER :: n, s, k s = 0; k = 0 1 PRINT*,键入分数 (负数时退出): READ*, n; IF(n 0) GOTO 999 s = s + 1 IF(n = 60) k = k + 1 GOTO 1 999 PRINT*, k, 个学生合格。 总人数=, s

文档评论(0)

shaoye348 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档