Fortran程序设计3-选择结构.ppt

上传人:tia****nde 文档编号:12805814 上传时间:2020-05-25 格式:PPT 页数:51 大小:647.50KB
返回 下载 相关 举报
Fortran程序设计3-选择结构.ppt_第1页
第1页 / 共51页
Fortran程序设计3-选择结构.ppt_第2页
第2页 / 共51页
Fortran程序设计3-选择结构.ppt_第3页
第3页 / 共51页
点击查看更多>>
资源描述
关于提交作业:1.将已经运行通过的若干Fortran源文件:*.f90(或者*.for)文件压缩2.压缩文件名请自己命名为:09大气+学号或者:09应气+学号3.将压缩文件以附件发送到本人邮箱,关于作业:1.文件名尽量用以英文字母开头的、包含英文以及英文书写状态下的数字和下划线等其它符号)2.源文件书写方式及其注释养成好的习惯,自由格式下亦书写可读性强的脚本3.严格按照语法,初学者尽量谦虚谨慎,上课及作业时适当做笔记,复习上一章主要内容:一个简单程序的运行输入输出数据的声明运算符与表达式赋值语句,五、选择结构程序设计,算法和流程图关系运算和逻辑运算选择结构,算法和流程图,为解决一个问题而采取的方法和步骤,称为“算法”。“计算方法”(computationalmethod):求数值解的近似方法“算法”(algorithm):解决问题的一步一步的过程在解一个数值计算问题时,除了要选择合适的计算方法外,还要根据这个计算方法写出如何让计算机一步一步执行以求解的算法。对同一个问题,可以有不同的解题方法和步骤,有效地进行解题,不仅需要保证算法正确,还要考虑算法的质量,选择合适的算法。,一个计算问题的解决过程通常包含下面几步:,1、确立所需解决的问题以及最后应达到的要求。必须保证在任务一开始就对它有详细而确切的了解,避免模棱两可和含混不清之处。2、分析问题构造模型。在得到一个基本的物理模型后,用数学语言描述它,例如列出解题的数学公式或联立方程式,即建立数学模型。3、选择计算方法。如定积分求值问题,可以用矩形法、梯形法或辛普生法等不同的方法。因此用计算机解题应当先确定用哪一种方法来计算。4、确定算法和画流程图。在编写程序之前,应当整理好思路,设想好一步一步怎样运算或处理,即为“算法”。把它用框图画出来,用一个框表示要完成的一个或几个步骤,它表示工作的流程,称为流程图。它能使人们思路清楚,减少编写程序中的错误。5、编写程序。6、程序调试,即试算。一个复杂的程序往往不是一次上机就能通过并得到正确的结果的,需要反复试算修改,才得到正确的可供正式运行的程序。7、正式运行得到必要的运算结果。,流程图,用图表示的算法。流程图是用一些图框来表示各种类型的操作,在框内写出各个步骤,然后用带箭头的线把它们连接起来,以表示执行的先后顺序。用图形表示算法,直观形象,易于理解。,例:对一个大于或等于3的正整数,判断它是不是一个素数。,所谓素数,是指除l和该数本身之外,不能被其它任何整数整除的数。例如,13是素数,因为它不能被2,3,4,12整除。判断一个数N(N3)是否素数的方法是很简单的:将N作为被除数,将2到(N1)各个整数轮流作为除数,如果都不能被整除,则N为素数。算法可以表示如图:,三种基本机构,顺序结构:如图所示的虚线框内,A和B两个框是顺序执行的。顺序结构是最简单的一种基本结构:,三种基本机构,选择结构:如图所示的框内,包含一个判断:,三种基本机构,循环结构,重复结构,即反复执行某一部分的操作,N-S流程图,关系运算,关系运算符,关系运算符就是关系比较符。Fortran中有六个关系运算符:,关系表达式:,关系表达式是最简单的一种逻辑表达式。其一般形式为:,逻辑运算,逻辑运算符,Fortran有5个逻辑运算符,每个操作符两边都有一点,不可省略:,只判断一个条件A,逻辑运算,其顺序是:.NOT.AND.OR.EQV.和.NEQV.如果有括弧,则先进行括弧内的运算,逻辑表达式举例:,1(A.LT.B).AND.(A.GT.C)2(X.LT.0.).OR.(X.GT.100.)3.NOT.(X.LE.O.)4(A.GT.B).EQV.(C.GT.D)5L1.NEQV.L2,当AB和AC时表达式值为真,当X0或X100时,表达式值为真,当X0时,表达式值为假,当两个括弧内的值都为真或都为假时,表达式的值为真,当L1与L2的逻辑值不相同时,表达式的值为真,各种运算符的优先级别:,逻辑表达式举例:,逻辑IF语句,IF语句不是一种选择结构,只是一条语句,它在算法较简单的场合下,可以灵活地完成二分叉选择算法。,其一般形式为:IF(逻辑表达式)执行语句,逻辑IF语句当条件为“真”时只能执行一个执行语句而不能执行若干个语句,因此它又称“行IF语句”以与块IF区别,例:打印学生考试成绩,大于等于80分的为“A”,大于等于60分而小于80分的为“B”,小于60分的为“C”:READ*,GRADEIF(GRADE.GE.8O)PRlNT*,”A”IF(GRADE.GE.6O.AND.GRADE.LT.80)PRlNT*,”B”IF(GRADE.LT.6O)PRlNT*,”C”,选择结构,块IF,块IF的一般形式可写成:IF(逻辑表达式)THEN块IF语句块1then块ELSE块2else块ENDIF,其中,ELSE和else块可以省略,选择结构,IF-ELSEIF(多重判断),IF(逻辑表达式1)THENELSEIF(逻辑表达式2)THENELSEENDIF,试以输入95、85、75、65看执行结果,选择结构,嵌套IF,IF(逻辑表达式1)THENIF(逻辑表达式2)THENIF(逻辑表达式2)THENELSEIF(逻辑表达式3)THENELSEENDIFENDIFENDIF,IF构造的任一语句块中(then块、elseif块、else块)都可以嵌入另一个构造,被嵌入的构造可以是另一IF构造,也可以是另一些形态、功能不同的构造,如CASE构造、DO构造,前提是必须把整个构造完整地嵌在IF构造的某一块中,不允许一部分嵌在一个块中,另一部分嵌在另一个块中,即被嵌入的任何构造不可跨越两块。在某些场合IF构造嵌套是必需的,但嵌套过多,阅读时要一层层地记住前面各层的条件,容易出错,也不易维护,应尽量减少嵌套。可以将条件分细,列成多句ELSEIF语句。,练习1解:,练习2输入实数x,求下面的三角波脉冲函数F(x)的值。,练习1分析:对系数的判断,分析:对系数的判断,注意:使用浮点数来做逻辑判断时,避免使用“等于”的判断,通常用其差值小于一个足够小的数来替代。,选择结构,SELECTCASE,F90增加了SELECTCASE语句,提供了从几个可选项中选取一个执行的手段。因为在某些多种条件的选择情况下使用IF语句显得比较繁琐,而使用CASE构造可使程序显得直观、简短。,SELECTCASE(case表达式)CASE(case选择符)块CASEDEFAULT块ENDSELECT,其一般形式为:,case表达式是整型、字符型或逻辑型表达式,不能是实型和复型表达式。case选择符是case值范围表,它有以下四种形式:,(值表)表示等于该值,各值之间用逗号分开(下界:)表示大于或等于该值(:上界)表示小于或等于该值(下界:上界)表示在这两个值之间(包括等于)上面的四种表示方法可以混用,如CASE(2:5,9)等价于CASE(2,3,4,5,9),字符型SELECTCASE举例,设要编一程序,把学生按专业划分以便检索,专业分为天体物理、应用物理、理论物理三种,把每个专业应修的课程依次编成语句块1、块2、块3,构造名为DEPARTMENT_22_MAJOR,专业变量名为MAJOR,则CASE构造为:,SELECTCASE(MAJOR)CASE(AstronomicalPhysics)语句块1CASE(AppliedPhysics)语句块2CASE(TheoreticalPhysics)语句块3ENDSELECTDEPARTMENT_22_MAJOR,逻辑型SELECTCASE举例,设有一个关系表达式X=3,当成立时打印YES,否则打印印NO。,SELECTCASE(X=3)CASE(.TRUE.)PRINT*,YESCASE(.FALSE.)PRINT*,NOENDSELECT,其它流程控制,GOTOIF与GOTO联用PAUSECONTINUESTOP,作业:P98,第3、4题,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!