已阅读5页,还剩75页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
-,1,第3章FORTRAN结构化程序设计,-,2,本章内容,顺序结构程序设计选择结构程序设计循环结构程序设计,-,3,结构化程序设计:按照一定的结构形式来设计和编写程序,以便阅读与检查。,顺序结构,选择结构,循环结构,当型循环,直到型循环,-,4,3.1顺序结构程序设计,先上后下,先左后右;即先执行A,再执行B,顺序结构,-,5,【例3-1】输入3个气象站5个月(汛期)雨量数据,统计每个气象站的总雨量和平均雨量,计算3个站五月、六月、七月、八月、九月的平均雨量,输出每个气象站每个月的雨量、总雨量和平均雨量,以及五月、六月、七月、八月、九月的平均雨量。,表3-11998年主要站汛期雨量统计表,-,6,1PROGRAMex06_022IMPLICITNONE3REALr11,r12,r13,r14,r15,total11,av114REALr21,r22,r23,r24,r25,total21,av215REALr31,r32,r33,r34,r35,total31,av316REALav1,av2,av3,av4,av57WRITE(*,“(28X,5月6月7月8月9月)”)8WRITE(*,“(1X,输入江阴气象站五个月的雨:,)”)9READ(*,*)r11,r12,r13,r14,r1510WRITE(*,“(1X,输入定波闸气象站五个月的雨量:,)”),-,7,11READ(*,*)r21,r22,r23,r24,r2512WRITE(*,“(1X,输入肖山气象站五个月的雨量:,)”)13READ(*,*)r31,r32,r33,r34,r3514!100FORMAT(F5.1,F5.1,F5.1,F5.1,F5.1)15total11=r11+r12+r13+r14+r1516av11=total11/517total21=r21+r22+r23+r24+r2518av21=total21/519total31=r31+r32+r33+r34+r3520av31=total31/521av1=(r11+r21+r31)/322av2=(r12+r22+r32)/3,-,8,23av3=(r13+r23+r33)/324av4=(r14+r24+r34)/325av5=(r15+r25+r35)/326WRITE(*,“(26X,5月6月7月8月9月总雨量平均雨量)”)27WRITE(*,200)江阴气象站五个月的雨量:,r11,r12,r13,r14,r15,total11,av1128WRITE(*,200)定波闸气象站五个月的雨量:,r21,r22,r23,r24,r25,total21,av2129WRITE(*,200)肖山气象站五个月的雨量:,r31,r32,r33,r34,r35,total31,av3130200FORMAT(1X,A22,5(F5.1,2X),F6.1,2X,F7.3),-,9,31WRITE(*,300)5月,av1,6月,av2,7月,av3,8月,av4,9月,av532300FORMAT(1X,A4,平均雨量:,F7.3)33END,-,10,运行结果:,-,11,3.2选择结构,3.2.1选择结构简介3.2.2IF语句3.2.3SELECTCASE语句3.2.4选择语句的嵌套,-,12,3.2.1选择结构简介依据给定的条件做逻辑判断,再根据判断的结果决定应执行哪种操作选择结构。如:1输入学生成绩,判定合格与否,输出判定结果。2已知三个整数A,B,C,输入其值并打印三个数中最大值。3暴雨预警信号分三级,分别以黄色、橙色、红色表示。(1)暴雨黄色预警信号(2)暴雨橙色预警信号(3)暴雨红色预警信号根据降雨量评判当前预警信号,从而做出不同防御指南。必须使用选择结构程序来解决这类问题,-,13,FORTRAN提供了3种典型的块IF结构:(1)单分支(2)双分支(3)多分支,3.2.2IF语句,-,14,(1)单分支块IF结构一般形式为:IF(条件)THENIF块ENDIF这种块IF结构包括:块IF语句“IF(条件)THEN”。它是块IF结构的入口语句。IF块。它是一个语句序列,由若干条可执行语句组成。ENDIF语句。它是块IF结构的出口语句。,-,15,【例3-2】从键盘输入一个气温值,如果大于35.0,则显示在屏幕上。,-,16,(2)双分支块IF结构一般形式为:IF(条件)THENIF块ELSEELSE块ENDIF,-,17,【例3-3】由于大气受到污染,一些地区开始形成酸雨区,酸雨是指PH值小于5.6的雨雪或其他形式的大气降水。通过收集水样测量其PH值,判断它的酸碱性并打印出来。根据题意设计算法并画出程序流程图,如图所示。,-,18,-,19,(3)多分支块IF结构一般形式为:IF(条件1)THEN块1ELSEIF(条件2)THEN块2ELSEIF(条件3)THEN块3.ELSEIF(条件n)THEN块nELSE块n+1ENDIF,-,20,【例3-4】在气象部门发布的天气预报中小雨、中雨、暴雨等专业术语,它们之间的区别如表所示:,-,21,-,22,-,23,(4)逻辑IF结构逻辑IF语句的一般形式:IF(条件)语句其中“条件”可以是一个合法的逻辑表达式或关系表达式,“语句”是一个合法的可执行语句,且只有一条语句。,-,24,【例3-5】根据层结参数N2的大小可以判断大气层结状态:,N2要求从键盘输入。,-,25,-,26,CASE结构是一种多路分支选择结构,可有多个分支可供选择。CASE结构的一般形式为:SELECTCASE(选择表达式)CASE(控制表达式1)块1CASE(控制表达式2)块2.CASE(控制表达式n)块nCASEDEFAULT默认块ENDSELECT,3.2.3SELECTCASE语句,实质:判断选择表达式的值是否与某一控制表达式的值相匹配。,-,27,说明:选择表达式和控制表达式可以为整型、逻辑型或字符型。控制表达式可以是一个不重复的值或一组同类值的列表,如:(1)用逗号分隔的单个值列表。如:CASE(a,b,c,x,y,z),当选择表达式的值为a,b,c,x,y,z之一时,执行相应的语句块。CASE(3,6,9),当选择表达式的值为3,6或9时,执行相应的语句块。(2)用冒号分隔的值的范围。如:CASE(a:g),当选择表达式的值落入ag范围内时,执行相应的语句块。CASE(5:10),当选择表达式的值落入510范围内时,执行相应的语句块。CASE(10:),当选择表达式的值大于或等于10时,执行相应的语句块。CASE(:10),当选择表达式的值小于或等于10时,执行相应的语句块。,【例3-6】根据风对地上物体所引起的现象将风的大小分为13个等级,称为风力等级,以012等级数字记载,如下表所示:,-,29,现对所输入的风速进行分类并输出。,-,30,在一个块IF结构中都可以完整地包含一个(或多个)块IF结构,即构成块IF的嵌套结构。它的结构为:,3.2.4选择语句的嵌套,-,31,当嵌套层次过多时,往往一时难以找到同一层的块IF中的各语句,一般可按以下方法确定:,(1)从最内层的块IF语句开始,向下找到离它最近的ENDIF语句,将它们用线括起来,这就是同一层次的块IF。(2)由内向外重复这一个过程,直到遇见最外层块IF语句和ENDIF语句为止。(3)在书写嵌套分支结构时采取缩进方式进行程序书写,程序的嵌套层次就容易确定。,-,32,【例3-7】求解当系数a,b,c为不同情况下的一元二次方程根。N-S图如下:,-,33,-,34,【例3-8】已知U,V风速,判断风向:,U0;V0西南风,U0;V0西北风,U0东南风,U0.0)then!u0,v0print*,西南风elseif(v0,v0,v=0print*,西风endifelseif(u0.0)then!u0print*,东南风elseif(v0.0)then!u0,v0print*,南风elseif(v=3)EXITIIENDDOJJENDDOIIPRINT*,MEND,运行结果,-,63,3.3.4两种循环形式的比较和关系,(1)带循环变量的DO循环用来处理已确定循环次数的问题。DOWHILE循环既可以用来处理已知循环次数的循环问题,也可用来处理不确定循环次数的问题。,-,64,(2)对事先已确定循环次数的问题,用带循环变量的DO循环比较方便,它能使循环变量自动增值,不需用户写逻辑表达式,只需写出循环变量的初值、终值和步长即可,使用方便。因此带变量的DO循环在气象上使用最为频繁。,-,65,(3)由于带循环变量的DO循环只能判断处理一个条件(循环次数R),当需要多个入口条件时,应考虑DOWHILE循环结构。(4)各类循环可以相互转换以及互相嵌套。嵌套时,需要完整嵌套。,-,66,离散化均匀经纬度网格,【例3-14】,-,67,沿着某一经度剪开球体,-,68,-,69,1,请求出11度均匀经纬度网格上,不同纬线上位置相邻格点的实际球面距离。,-,70,部分运行结果,程序举例1,-,71,那么同一经线上,相邻格点的实际球面距离是多少?,-,72,假设降水资料的存放路径按照右图有规律地存放,请利用循环,将1979年1月-1990年12月的资料路径,依次输出至屏幕上。,【例3-14】,-,73,程序难点,如何将年文件夹名称表示出来?如何将长度有变化的月文件夹名称表示出来?如何将年、月两个文件夹名称合并至整个文件路径中?,程序举例2,-,74,程序举例2,PROGRAMex03_14IMPLICITNONEintegeriy,imcharacteryear*4,mo*2characterdir*100!dir变量由于其有效长度是变化的,故定义一个足够长的字符串doiy=1979,1990write(year(1:4),(i4)iymo=!此处为情况
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 关于体育课件教学课件
- 2024年度成都农产品批发市场运营合同
- 2024年度广告发布合同:某品牌广告投放协议
- 2024年建筑工程施工安全管理协议
- 20245G基站建设项目合同
- 2024年定期货物运输协议
- 2024年上海房屋装修工程维修合同
- 2024年度★店铺转让及财务交接合同
- 2024年城市公共艺术装置安装工程分包合同
- 04版房地产买卖与开发合同
- 幼儿园大班语言绘本《月亮的味道》课件
- 人教版《道德与法治》七年级上册 成长的节拍 复习教案
- 《中华商业文化》第六章
- 医院玻璃采光顶玻璃雨棚施工方案
- 运筹学-随机规划课件
- 《电阻》说课课件
- 同济外科学课件之颈腰椎退行性疾病
- 杜邦杜邦工程塑料课件
- 砌体工程监理实施细则
- 运输车辆卫生安全检查记录表
- 房建装修修缮工程量清单
评论
0/150
提交评论