流程控制与逻辑运算.ppt

  1. 1、本文档共62页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* PROGRAM ex0516 IMPLICIT NONE INTEGER I INTEGER N DATA I,N /2,1/ C I/N=1时GOTO 10, I/N=2时GOTO 20, I/N=3时GOTO 30 C I/N1或I/N3时不做GOTO,直接执行下一行 GOTO(10,20,30) I/N 10 WRITE(*,*) I/N=1 GOTO 100 20 WRITE(*,*) I/N=2 GOTO 100 30 WRITE(*,*) I/N=3‘ 100 STOP END [ex0516.for] 第五十四页,共六十二页。 * IF判断还有一种叫做算术判断的方法,做法和GOTO类似。 形式:if(arithmetic_expression) label1, label2, label3 其中arithmetic_expression可以是任何整形、实型算术表达式。 label1,label2和label3是可执行语句的行代码。 当arithmetic_expression的值为负时,执行行代码为label1的语句,当arithmetic_expression的值为0时,执行行代码为label2的语句,当arithmetic_expression的值为正时,执行行代码为label的语句。 5-4-2 IF与GOTO的联用 0 =0 0 第五十五页,共六十二页。 * [ex0517.for] PROGRAM ex0517 IMPLICIT NONE REAL A, B REAL C DATA A, B /2.0, 1.0/ C=A-B C C0就GOTO 10,C=0就GOTO 20,C0就GOTO 30 IF ( C ) 10, 20, 30 10 WRITE(*,*) ‘AB GOTO 40 20 WRITE(*,*) A=B GOTO 40 30 WRITE(*,*) ‘AB‘ 40 STOP END 第五十六页,共六十二页。 * 5-4-3 PAUSE,CONTINUE,STOP PAUSE :暂停执行,直到用户按下Enter键才会继续执行。 CONTINUE: 继续向下执行程序,f90后很少使用 STOP:结束程序执行 * 第五十七页,共六十二页。 * 5-5 二进制的逻辑运算 二进制的逻辑运算和IF中的逻辑判断式不太相同,比较接近单纯的数学运算。 0 .and. 0 = 0 0 .and. 1 = 0 1 .and. 0 = 0 1 .and. 1 = 1 F90的库函数:IAND( ) IOR( ) 用来做二进制的AND和 OR运算,是把输入的两个整数中,同样位置的位进行逻辑运算。 a=2 !a等于二进制的010 b=4 !b等于二进制的100 c=iand(a, b) !c=0,也就是二进制的000 c=ior(a, b) !c=6,也就是二进制的110 * 第五十八页,共六十二页。 * integer :: a a=B“10” !a=2 a=O“10” !a=8 a=Z“10” !a=16 Fortran 90在设置整数时,可以不用十进制的方法,而使用其他进制的方法来做设置。把数字用双引号括起来,最前面加上B代表这段数字是二进制数字,同理最前面用O代表要使用八进制,用Z代表要使用16进制。 第五十九页,共六十二页。 Fortran程序的调试 编写包含分支和循环结构的程序比编写简单的顺序结构程序更容易犯错误。 如果只是发现输出值有错误,如何定位排错? 最好方法:符号调试器,但是需要查看系统手册以便如何使用。 一般方法:在程序中插入write语句,在一些关键位置点输出变量的值,以观察程序中间结果与预期结果的差异。 如果是IF块的问题:重点检查逻辑表达式。 另外一个常见错误:实数型变量的等值测试。 第六十页,共六十二页。 * 作业 P98 1、2、3、4 * 5、一束光线从折射率为n1的区域穿透到折射率为n2的另一个区域,光线被折射,折射的角度由斯涅尔定律给出。编写Fortran程序,给定区域1中的入射角?1和折射率n1、n2,计算光束在区域2中的出射角度?2。计算时以空气和水为例,并大致估计一下发生全反射的入射角度。可以根据n1=1.0,n2=1.7测试不同的角度,并适当变化n2值的大小,看看全反射角的变化。 第六十一页,共六十二页。 内容总结 Fortran95 程序

文档评论(0)

虾虾教育 + 关注
官方认证
内容提供者

有问题请私信!谢谢啦 资料均为网络收集与整理,收费仅为整理费用,如有侵权,请私信,立马删除

版权声明书
用户编号:8012026075000021
认证主体重庆皮皮猪科技有限公司
IP属地重庆
统一社会信用代码/组织机构代码
91500113MA61PRPQ02

1亿VIP精品文档

相关文档