fortran选择结构及基本语句.ppt
《fortran选择结构及基本语句.ppt》由会员分享,可在线阅读,更多相关《fortran选择结构及基本语句.ppt(21页珍藏版)》请在装配图网上搜索。
长安大学地学信息技术研究所,09/10学年第一学期1,第四讲选择结构及基本语句,长安大学地学信息技术研究所,09/10学年第一学期2,4.1概述,顺序结构程序特点:程序自上而下按语句顺序逐句执行。是三大结构之一。选择结构程序特点:根据条件判定结果决定语句执行顺序。是三大结构之一。FORTRAN90提供IF和SELECT语句来实现选择结构。示例:输入学生成绩,判定合格与否,输出判定结果。PROGRAMexam4_1CHARACTER*6gradeWRITE(*,“(‘输入学生成绩:’\)”)READ(*,*)sIF(s>=60)THENgrade=‘合格’ELSEgrade=‘不合格’ENDIFWRITE(*,*)‘该学生成绩’,grade,‘。’ENDprogram,长安大学地学信息技术研究所,09/10学年第一学期3,4.2逻辑IF语句,长安大学地学信息技术研究所,09/10学年第一学期4,长安大学地学信息技术研究所,09/10学年第一学期5,[例4.1]已知三个整数A,B,C,输入其值并打印三个数中最大值。解:根据题意设计算法并画程序流程图,如图4-2所示。程序:INTEGERA,B,C,maxWRITE(*,“(‘请输入三个整数:’\)”)READ(*,*)A,B,Cmax=AIF(B>max)max=BIF(C>max)max=CWRITE(*,100)max100FORMAT(1X,max=,I5)END输入:请输入三个实数:12,100,22↙输出:max=100,长安大学地学信息技术研究所,09/10学年第一学期6,4.3块IF语句,基本块IF语句语法:→IF()THEN[][ELSE[]]ENDIF→IF()THEN[]ENDIF→{}→{}基本块IF语句功能:先求e值,为真,执行,为假,执行。和为一程序段(语句序列)。,长安大学地学信息技术研究所,09/10学年第一学期7,长安大学地学信息技术研究所,09/10学年第一学期8,[例4.2]输入一个整数,判断它是奇数还是偶数,并打印输出。解:根据题意设计算法并画程序流程图,如图4-4所示。程序:10FORMAT(1X,I5,ISAEVENNUMBER.)20FORMAT(1X,I5,ISAODDNUMBER.)WRITE(*,*)PLEASEINPUTAINTEGERNUMBER:‘READ(*,*)NIF(MOD(N,2)==0)THENWRITE(*,10)NELSEWRITE(*,20)NENDIFEND输入:77↙输出:77ISAODDNUMBER.,长安大学地学信息技术研究所,09/10学年第一学期9,多支块IF语句语法:→IF()THEN[]ELSEIF()THEN[]ELSEIF()THEN[]……ELSEIF()THEN[][ELSE[]]ENDIF功能:求ei值,为真,执行,均为假,执行。,长安大学地学信息技术研究所,09/10学年第一学期10,给定一学生成绩S,评判该学生等级,并输出评判结果。评判标准:优:90≤S≤100;良:80≤S<90;中:70≤S<80及格:60≤S<70;不及格:S<60解:根据题意设计算法并画程序流程图,如下图所示。有三个等价程序可求解这一问题。,长安大学地学信息技术研究所,09/10学年第一学期11,!程序一WRITE(*,“(‘输入学生成绩:’\)”)READ(*,*)SIF(S=60.AND.S=70.AND.S=80.AND.S=90)WRITE(*,*)‘该学生成绩为:优。’END,长安大学地学信息技术研究所,09/10学年第一学期12,长安大学地学信息技术研究所,09/10学年第一学期13,READ(*,*)S!程序三IF(S<60)THENwrite(*,*)‘该学生成绩为:不及格。’ELSEIF(S<70)THENwrite(*,*)‘该学生成绩为:及格。’ELSEIF(S<80)THENwrite(*,*)‘该学生成绩为:中。’ELSEIF(S<90)THENwrite(*,*)‘该学生成绩为:良。’ELSEwrite(*,*)‘该学生成绩为:优。’ENDIFEND,长安大学地学信息技术研究所,09/10学年第一学期14,嵌套块IF:指块IF语句中又包含块IF语句,可有多层嵌套。对于嵌套块IF,内外层块IF语句体不能相互交叉。块IF语句可命名,在嵌套块IF中,可对内外层块IF语句进行命名。示例:求解方程ax2+bx+c=0,需要检查是否a=0,防止除0溢出。Disc=b*b—4*a*cOuter:IF(a/=0)THENInner:IF(Disc<0)THENWRITE(*,*)Complexroots‘ELSEInnerX1=(-b+SQRT(Disc))/(2*a)X2=(-b-SQRT(Disc))/(2*a)ENDIFInnerENDIFOuter,长安大学地学信息技术研究所,09/10学年第一学期15,MS-FORTRAN90引入类似PASCAL和C语言中块CASE结构的新功能。CASE结构功能:计算表达式值,从多个分支中选择一分支执行。→SELECTCASE()CASE()CASE()……CASE()[CASEDEFAULT]ENDSELECT→[:]{,[:]},长安大学地学信息技术研究所,09/10学年第一学期16,长安大学地学信息技术研究所,09/10学年第一学期17,4.4选择结构程序设计举例,长安大学地学信息技术研究所,09/10学年第一学期18,[例4.5]求解方程Ax2+Bx+C=0。A,B,C由键盘输入,计算且输出方程解。(1)A=0,B≠0;(方程只有一个解)(2)A=0,B=0,C=0;(方程有无穷个解)(3)A=0,B=0,C≠0;(方程无解)(4)A≠0,B2-4AC>0;(方程有二个不同的实数解)(5)A≠0,B2-4AC=0;(方程有二个相同的实数解)(6)A≠0,B2-4AC<0;(方程有二个不同的复数解)解:依题意设计算法,并画流程图(盒图或PAD图)。程序:输入:1.0,1.0,-2.0↙输出:X1=1.000000X2=-2.000000,长安大学地学信息技术研究所,09/10学年第一学期19,长安大学地学信息技术研究所,09/10学年第一学期20,长安大学地学信息技术研究所,09/10学年第一学期21,4.5习题四,1.某商店对购货额为1000元以上(含1000元,下同),八折优待;500元以上1000元以下,九折优待;200元以上500元以下,九五折优待;100元以上200元以下,九七折优待;100元以下,不优待。请编写程序,输入购货额,计算优惠货款,并打印输出该货款。2.计算税收。企业产值小于1000万,税率为3%;企业产值大于等于1000万小于2000万,税率为5%;企业产值大于等于2000万小于5000万,税率为7%;企业产值大于等于5000万小于1亿,税率为10%;企业产值大于等于1亿小于5亿,税率为14%;企业产值大于等于5亿,税率为20%。请编写程序,输入某企业产值,计算出其当年的应交税值,并打印输出。,- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- fortran 选择 结构 基本 语句

链接地址:https://www.zhuangpeitu.com/p-11549134.html