Fortran第5章节.pptVIP

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

…… Read*,x I=1 Bmax=x;Imax=I Read*,x Do while (x/=0) I=I+1 If(xBmax)then Bmax=x;Imax=I Endif Read*,x Enddo Print*,Bmax,Imax …… 数据的输入格式: 2 8 3 10 6 0 错误的输入格式: 2,8,3,10,6,0 阅读程序 验证 If(xBmax)Bmax=x Imax=I 错误 应用:拆数(分离数据) 例5-18 键盘输入一正整数N,编程,判断数N中是否有数字M。若有,输出“YES”,否则输出“NO”。 分析:重复 求余数(取右边数据) 判断是否有数字M 求商(取左边数据, 为下一次求余数准备——变化的语句) 停止条件 当商为0或有M数字 …… READ*,N,M DO WHILE(N0) IF(MOD(N,10)==M)EXIT N=N/10 ENDDO IF(N0)THEN PRINT*,YES ELSE PRINT*, NO ENDIF …… 隐含DO循环的形式为: (循环体,v=u1,u2,u3) 类似于: DO V=u1,u2,u3 循环体 enddo 隐去DO关键字的 DO语句 区别? READ *,(x,y,I=1,5) PRINT ‘(5I5)’,(I,I=1,5) 补充: 隐含DO循环 1、输入、输出数据格式的区别: 隐DO、显DO的区别 PRINT *,(I,I=1,3) DO I=1,3 PRINT*,I ENDDO PRINT*,1,2,3 输出一行 PRINT*,1 PRINT*,2 PRINT*,3 输出三 行 READ ’(6I3) ’ ,(x,y,I=1,3) 如输入 1 2 3 4 5 6 X,Y的值为 。 练习: DO I=1,3 READ’(2I3)’,X,Y ENDDO 必须输入三 行 1 2 3 4 5 6 2、隐含do循环只能用于输入、输出语句和数组构造器中 错例 S=0 S=S+(I,I=1,3) 几种常见的隐含DO循环的形式 1.按指定步长读写。例如 PRINT *,(J,J=1,7,2) 2.隐含DO循环与普通变量混合使用。例如 PRINT *,A,B,(I ,I=1,3),C 3.用于输出一些特殊符号。例如 PRINT *,(’-’,I=1,3) 4.隐含DO循环可以并列出现。例如 print *,(I ,I=1,2),(J,J=1,2) 5.隐含DO循环可以嵌套使用。例如 PRINT *,((’a’,J=1,2),I,I=1,2) 外循环DO语句 外循环循环体 外循环DO语句 即 PRINT*, (’a’,J=1,2),1, (’a’,J=1,2),2 输出结果:a a 1 a a 2 1、三种循环结构的适用范围和写法 2、三种循环结构的执行过程 3、循环结构的编程步骤、调试方法 4、三种循环结构循环体的区别 5、常见算法的理解和实现 编程技巧 6、隐DO的写法、适用范围、执行过程 与显DO的区别 小结 integer :: n, k,m read *,n if(n=1)then print*,数据输入不正确! else m=n-1 !sqrt(real(n))或n/2 do k=2, m if (mod(n, k)= =0) exit enddo if ( km) then print*,n,’是素数’ else print *,n,’不是素数’ Endif endif end program exam9 implicit none integer::n,k,f=1 read*,n if(n=1)then print*,数据输入不正确! else do k=2,n/2 if(mod(n,k)==0)f=0 enddo if(f==0)then print(I5,不是素数!),n else print(I5,是素数),n endif endif end 第86页例5-9:采用标记变量F,F=1是素数,F=0不是素数。 用梯形法计算定积分 分析:等分、以直代曲、求和 六、梯形法 Real::a,b,g

文档评论(0)

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

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

1亿VIP精品文档

相关文档