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

模块化程序设计例程和模块.ppt

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
模块化程序设计例程和模块

第四章 结构化程序设计—控制结构 结构化程序设计:按照顺序结构、选择(分支)结构和循环结构进行程序设计,称为结构化程序设计。 任何复杂的算法都可以由以上三种基本结构来实现。早期的Fortran 程序只有顺序结构和以IF 语句为代表的选择结构,由于没有循环结构,需要在程序中添加GOTO无条件转移语句,程序的可读性和可维护性差。 IF 块(条件转移)的添加和循环结构,使得 Fortran 程序设计真正跨入结构化阶段。 本章着重讲解选择结构和循环结构。 2. IF 语句 IF语句是最早的选择结构,构造形式为: IF (condition)statement 流程说明:假如条件为真,就执行条件后的那条语句;否则,程序流程跳过 IF 语句,接着往下执行。IF 语句只能写在一行上。 IF 语句和 IF 块的对比,详见例4-1。 PROGRAM Main !IF语句与IF块 IMPLICIT NONE LOGICAL L1,L2 CHARACTER CH1,CH2 WRITE(*,‘(A)’,ADVANCE=‘NO’) ’L1=(Y/N):’ READ*,CH1 WRITE(*,‘(A)’,ADVANCE=‘NO’) ’L2=(Y/N):’ READ*,CH2 L1=(CH1==‘Y’.OR.CH1==‘y’) L2=(CH2==‘Y’.OR.CH2==‘y’) CALL Proc_Old(L1,L2) CALL Proc_New(L1,L2) CONTAINS SUBROUTINE Proc_Old(L1,L2) LOGICAL,INTENT(IN)::L1,L2 INTEGER I,J IF(.NOT.L1) GOTO 10 I=1 J=2 GOTO 30 10 IF(.NOT.L2) GOTO 20 I=2 J=3 GOTO 30 20 I=3 J=4 30 CONTINUE PRINT*,’Old:I=’,I,’,J=’,J END SUBROUTINE 从例4-1可以看出,IF 语句的功能极为有限,为了执行复杂的流程控制,GOTO 无条件转移语句的采用,使程序代码的可读性大为降低。 Fortran 77 中算术IF 语句的构造形式为: IF(算术表达式)语句标号1,语句标号2,语句标号3 说明:如果算术表达式的值小于0,执行语句标号1(标号1所标示的语句);如果值等于0,执行语句标号2;如果大于0,执行语句标号3。 3. IF 块 IF 块的构造形式为: IF condition THEN block1 [ELSE blockE] END IF 其中,condition是一个逻辑表达式,其结果不外乎真或假。block1 和 blockE是语句块,当条件为真,block1 被执行;否则,blockE 被执行。ELSE 块是可选的。 用 IF

文档评论(0)

xiaozu + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档