第71讲信息与计算机计算机程序设计语言三2010年新版

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

环球网校:视频授课+名师答疑+在线模考+内部资料,考试通过无忧!考试问吧,有问必答!音频、讲义网校免费提供,如有贩卖勿上当,免费咨询:400-678-3456转6011页造价工程师|监理工程师|咨询工程师|一级建造师|二级建造师|会计证|建筑师|安全工程师|会计职称|注册会计师|注册税务师|银行从业|证券从业|期货从业|经济师|报关员|外销员|执业药师|卫生职称|助理医师|职称英语|职称日语|职称计算机|雅思|公共英语|自考英语|新概念|BEC|托福|公务员|人力资源师|高考|中考|司法考试|更多需要课件请联系QQ149420357或547343758六、控制语句一般情况下,FORTRAN程序是按语句顺序执行的,但需要时,可以改变这种顺序。这种改变可以通过各种控制转移语句、逻辑条件语句等来实现。(一)转移语句1.无条件转移语句无条件转移语句的一般形式为:GOTOn当程序流程到达GOTO语句时,随后就转向语句标号为n的语句。标号为n的语句必须是可执行语句,但它在程序中的排列位置,可以在引导到它的GOTO语句之后,也可以在该GOTO语句之前。无条件转移语句常和其他控制语句结合起来使用。2.算术条件转移语句算术条件转移语句的一般形式为:IF(e)nl,n2,n3其中,e必须是算术表达式,当表达式运算结果e0时,程序转向标号为n1的语句;当e=0时,转向标号为n2的语句;当e0时,转向标号为n3的语句。例如,计算边长为B的正方形中挖去半径为R的圆后的面积,若B2R,则给出相关信息。该问题的FORTRAN程序可用别辽条件转移语句编写如下。CComputationofarea.READ*B.RIF(B-2*R)5,15,155WRITE(*,10)10FORMAT('Errormessage:Blessthan2*R‘)GOTO2015AREA=B*B-3.14159*R*RWRITE*AREA20CONTINUEEND本例中,在算术条件转移语句的第1个分支后,使用了GOTO语句;倘没有此语句,则程序按顺序仍会执行标环球网校:视频授课+名师答疑+在线模考+内部资料,考试通过无忧!考试问吧,有问必答!音频、讲义网校免费提供,如有贩卖勿上当,免费咨询:400-678-3456转6012页造价工程师|监理工程师|咨询工程师|一级建造师|二级建造师|会计证|建筑师|安全工程师|会计职称|注册会计师|注册税务师|银行从业|证券从业|期货从业|经济师|报关员|外销员|执业药师|卫生职称|助理医师|职称英语|职称日语|职称计算机|雅思|公共英语|自考英语|新概念|BEC|托福|公务员|人力资源师|高考|中考|司法考试|更多号为15的语句,从而得出不正确的结果。3.计算转移语句计算转移语句的一般形式为:GOTO(n1,n2,……,nm),e其中,ni(i=1,2,……,m)是被转向的语句标号,共m个;e是一个整型算术表达式,其值不得小于1且不得大于m。当e的值等于1时,程序转向标号nl的语句,当e的值等于2时转向标号n2的话句,当e的值为m时转向标号为nm的语句。整型算术表达式e前的逗号可以省略。计算转移语句通常也和GOTO语句结合起来使用。例如,有如下一个程序:READ*,MGOTO(20,30,40,50)M20N=MGOTO6030N=M*2GOTO6040N=M*3GOTO6050N=M*460WRITE*,NEND程序运行时,若输入1,则转向标号为20的语句,x的值为1;若输入2,则转向标号为30的语句,x的值为4;输入3,转向标号为40的语句,x的值为9,输入4,转向标号为50的语句,x的值为16(二)逻辑条件语句1.逻辑IF语句逻辑IF语句用来实现选择结构。它的一般形式为:IF(逻辑表达式)内嵌语句其中内嵌语句是单独的一个可执行语句。逻辑IF语句执行时,首先计算逻辑表达式的值,如果逻辑表达式的值为真,则执行内嵌语句,若内嵌语句非转移语句,则执行该语句后继续按顺序往下执行,若内嵌语句是转移语句,则转向指定的语句;如果逻辑表达式的值为假,则不执行内嵌语句,而直接执行该语句后面的语句。例如,从键盘读入一个代表百分制成绩的数据,如果数据在90-100之间就输出‘Excellent',在80-89之间输出‘Good',在60-79之间输出‘Pass',在60以下则输出‘Notpass'。其程序可以如下编写:环球网校:视频授课+名师答疑+在线模考+内部资料,考试通过无忧!考试问吧,有问必答!音频、讲义网校免费提供,如有贩卖勿上当,免费咨询:400-678-3456转6013页造价工程师|监理工程师|咨询工程师|一级建造师|二级建造师|会计证|建筑师|安全工程师|会计职称|注册会计师|注册税务师|银行从业|证券从业|期货从业|经济师|报关员|外销员|执业药师|卫生职称|助理医师|职称英语|职称日语|职称计算机|雅思|公共英语|自考英语|新概念|BEC|托福|公务员|人力资源师|高考|中考|司法考试|更多READ(*.*)IPOINTIF(IPOINT.GT.100.OR.IPOINT.LT.0)WRITE(*,*)'DATAERROR'IF(IPOINT.GE.90.AND.IPOINT.LE.100)WRITE(*.*)'Excellent'IF(IPOINT.GE.80.AND.IPOINT.LE89)WRITE(*.*'Good'IF(IPOINT.GE.60.AND.IPOINT.LE.79)WRITE(*.*)'Pass'IF(IPOINT.GE.0.AND.IPOINT.LE.59)WRITE(*.*)'NotPass'END2.块IF结构的各种形式(1)块IF和ENDIF形式IF(逻辑表达式)THEN语句块ENDIF当逻辑表达式的值为真时,执行语句块,否则按顺序执行ENDIF后的语句。例如,如下程序段:READ*,RN,ANIF(RN.GE.0.0.AND.AN.GT.0.0)THENSTRESS=RN/ANWRITE*RN,AN,STRESSENDIFEND当RN大于等于零且AN大于零时,执行赋值语句和输出语句。(2)使用ELSE的形式IF(逻辑表达式)THEN语句块1ELSE语句块2ENDIF当逻辑表达式的值为真时,执行语句块1,当逻辑表达式的值为假时,执行语句块2。由此可见,使用ELSE的形式,可以进行两个分支的选择。(3)使用ELSEIF的形式环球网校:视频授课+名师答疑+在线模考+内部资料,考试通过无忧!考试问吧,有问必答!音频、讲义网校免费提供,如有贩卖勿上当,免费咨询:400-678-3456转6014页造价工程师|监理工程师|咨询工程师|一级建造师|二级建造师|会计证|建筑师|安全工程师|会计职称|注册会计师|注册税务师|银行从业|证券从业|期货从业|经济师|报关员|外销员|执业药师|卫生职称|助理医师|职称英语|职称日语|职称计算机|雅思|公共英语|自考英语|新概念|BEC|托福|公务员|人力资源师|高考|中考|司法考试|更多IF(逻辑表达式1)THEN语句块1ELSEIF(逻辑表达式2)THEN语句块2ELSE语句块3ENDIF这种形式,允许在三个分支中作出选择。当逻辑表达式1的值为真时,执行语句块1表示的分支;当逻辑表达式1的值为假而逻辑表达式2的值为真时,执行语句块2表示的分支;当逻辑表达式1的值和逻辑表达式2的值均为假时,执行语句块3表示的分支。3.块IF结构的嵌套在一个块IF结构的语句块中,可以完整地包含另一个或多个块IF结构,称为块IF的嵌套。块的嵌套可以多层。七、函数与子程序(过程)(一)内部函数内部函数是预先编制的一些常用函数或算法的过程,由FORTRAN语言提供,可以,直接调用。内部函数调用时的一般形式是:内部函数名(实元表)实元表中元素的数据类型、个数是预先规定的。常用内部函数及其功能可查阅FORTRAN教材或用户手册。(二)语句函数1.语句函数的定义定义语句函数的语句称为语句函数语句。其一般形式为:函数名(形参表)=表达式。其中,函数名的命名规则与一般变量名相同,所以它也可以用类型说明语句等来说明。形参又称哑元,是一些变量名,一般应出现在表达式中。语句函数在程序单位中的位置,应在所有可执行语句之前。环球网校:视频授课+名师答疑+在线模考+内部资料,考试通过无忧!考试问吧,有问必答!音频、讲义网校免费提供,如有贩卖勿上当,免费咨询:400-678-3456转6015页造价工程师|监理工程师|咨询工程师|一级建造师|二级建造师|会计证|建筑师|安全工程师|会计职称|注册会计师|注册税务师|银行从业|证券从业|期货从业|经济师|报关员|外销员|执业药师|卫生职称|助理医师|职称英语|职称日语|职称计算机|雅思|公共英语|自考英语|新概念|BEC|托福|公务员|人力资源师|高考|中考|司法考试|更多2.语句函数的调用调用语句函数的结果是得到一个函数值,因此,调用语句函数时代之以实际变量(又称实元)。(三)函数子程序一个函数子程序是一个独立的FORTRAN程序单位。它的第一个语句必须是FUNCTION语句,最后一个语句必须是END语句。即函数子程序的一般结构为:[类型说明]FUNCTION函数名(形参表)语句块[RETURN]END也可以写为:FUNCTION函数名(形参表)[类型说明函数名]语句块[RETURN]END其中函数名的命名规则与变量相间,而函数名的类型决定了函数值的类型。在函数子程序中,形参可以是变量名、数组名、外部过程名,而形参的命名与类型说明也与变量相同,形参数组也必须在函数子程序中予以定义。函数子程序的函数值由函数名带回到调用该函数子程序的程序,因此,在函数子程序中必须对函数名赋值。在函数子程序中,函数名应该像普通变量那样来使用。在函数子程序中,所有的名字、语句标号都可以和其他程序单位中的相同而彼此没有任何关系。在函数子程序中,END语句的功能有两个:一是表示该程序单位的结束,二是具有返回语句RETURN的功能。函数子程序中必须有并且只有一个END语句,而且只能是子程序的最后一个语句。当在子程序的其他位置须要返回时,可以使用RETURN语句。(四)子程序1.子程序的结构一个子程序是一个独立的FORTRAN程序单位。环球网校:视频授课+名师答疑+在线模考+内部资料,考试通过无忧!考试问吧,有问必答!音频、讲义网校免费提供,如有贩卖勿上当,免费咨询:400-678-3456转6016页造价工程师|监理工程师|咨询工程师|一级建造师|二级建造师|会计证|建筑师|安全工程师|会计职称|注册会计师|注册税务师|银行从业|证券从业|期货从业|经济师|报关员|外销员|执业药师|卫生职称|助理医师|职称英语|职称日语|职称计算机|雅思|公共英语|自考英语|新概念|BEC|托福|公务员|人力资源师|高考|中考|司法考试|更多子程序的第一个语句必须是SUBROUTINE语句,最后一个语句必须是END语句。即子程序的一般结构为:SUBROUTINE子程序名(形参表)语句块[RETURN]END子程序名的命名规则与普通变量相同。但是子程序中的子程序名不能用于返回数值,这与函数子程序是不同的。因此,子程序名没有类型,它不能在本程序单位中使用。SUBROUTINE语句中的形参表可以省略。这时子程序名后的括弧不要保留。对子程序的其他有关规定与函数子程序相同。2.子程序的调用子程序调用通过CALL语句实现。其形式为:CALL子程序名(实参)其他有关对子程序的调用规定与函数子程序相同。

1 / 6
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功