Fortran程序设计(第七章函数与子程序(上)).ppt

上传人:p** 文档编号:171569 上传时间:2023-03-16 格式:PPT 页数:12 大小:281.50KB
下载 相关 举报
Fortran程序设计(第七章函数与子程序(上)).ppt_第1页
第1页 / 共12页
Fortran程序设计(第七章函数与子程序(上)).ppt_第2页
第2页 / 共12页
Fortran程序设计(第七章函数与子程序(上)).ppt_第3页
第3页 / 共12页
Fortran程序设计(第七章函数与子程序(上)).ppt_第4页
第4页 / 共12页
Fortran程序设计(第七章函数与子程序(上)).ppt_第5页
第5页 / 共12页
Fortran程序设计(第七章函数与子程序(上)).ppt_第6页
第6页 / 共12页
Fortran程序设计(第七章函数与子程序(上)).ppt_第7页
第7页 / 共12页
Fortran程序设计(第七章函数与子程序(上)).ppt_第8页
第8页 / 共12页
Fortran程序设计(第七章函数与子程序(上)).ppt_第9页
第9页 / 共12页
Fortran程序设计(第七章函数与子程序(上)).ppt_第10页
第10页 / 共12页
亲,该文档总共12页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《Fortran程序设计(第七章函数与子程序(上)).ppt》由会员分享,可在线阅读,更多相关《Fortran程序设计(第七章函数与子程序(上)).ppt(12页珍藏版)》请在第壹文秘上搜索。

1、第七章 函数与子程序(上)7.1概述概述7.5 子程序的嵌套调用子程序的嵌套调用7.2 函数子程序函数子程序7.6 模块模块7.3 子例子程序子例子程序7.7 递归过程递归过程7.4 虚实结合虚实结合7.8 其他部分其他部分7.9 程序举例程序举例7.1 概述概述 过程是可供调用的一个子程序单元,可供程序中任何过程是可供调用的一个子程序单元,可供程序中任何需要它的地方调用。这需要它的地方调用。这既能避免重复性编程劳动,又能节既能避免重复性编程劳动,又能节省编程时间与程序的存储空间。省编程时间与程序的存储空间。但但一个一个FortranFortran程序必须有程序必须有一个主程序单元,而且只能有

2、一个主程序单元。一个主程序单元,而且只能有一个主程序单元。一个程序一个程序中可以根据需要包含任意数量的子程序单元,中可以根据需要包含任意数量的子程序单元,子程序单元子程序单元可以被主程序单元调用,也可以被其它子程序单元调用,可以被主程序单元调用,也可以被其它子程序单元调用,甚至可以递归调用。甚至可以递归调用。主程序单元一般由主程序单元一般由ProgramProgram语句开头,语句开头,以以ENDEND语句结束。语句结束。 FortranFortran程序中的过程有两种:程序中的过程有两种:n 函数子程序过程函数子程序过程( (简称函数子程序或函数简称函数子程序或函数) )n 子例子程序过程子

3、例子程序过程( (简称子例子程序或子例简称子例子程序或子例行子程序行子程序) )。 这两者的形式、功能与调用方法都有所不这两者的形式、功能与调用方法都有所不同,但总称为同,但总称为过程子程序过程子程序,也简称为过程或子,也简称为过程或子程序。程序。过程过程函数过程函数过程子程序过程子程序过程模块过程模块过程 (在模块文件中)(在模块文件中)外部过程外部过程 (在主程序外部,用户编写)(在主程序外部,用户编写)内部过程(在主程序内部,用户编写)内部过程(在主程序内部,用户编写)内在过程内在过程 (系统内部提供)(系统内部提供)函数的分类:函数的分类:对过程有如下说明:对过程有如下说明:1.过程作

4、为子程序不能独立运行,只供其它程序单元调用。过程作为子程序不能独立运行,只供其它程序单元调用。2.过程的调用方法是书写过程名,后跟用一对圆括号括起来的实元表。过程的调用方法是书写过程名,后跟用一对圆括号括起来的实元表。3.过程单元中的虚元的个数可以有多个,它们都要写在一对圆括号内。过程单元中的虚元的个数可以有多个,它们都要写在一对圆括号内。4.当一个过程被调用时,调用它的主程序或子程序称作主调程序。当一个过程被调用时,调用它的主程序或子程序称作主调程序。5.主调程序和被调用程序间的数据传递主要是通过虚实结合实现。主调程序和被调用程序间的数据传递主要是通过虚实结合实现。内在函数分类内在函数分类

5、(1)三角函数)三角函数 SIN() 、COS()、TAN()(以弧度为单位)(以弧度为单位) SIND()、COSD()、TAND()(以度为单位)(以度为单位) (2)常见的数据操作)常见的数据操作 类型转换函数:类型转换函数:REAL()、DBLE()、CMPLX()、INT() 求绝对值:求绝对值:ABS() (3)地址函数)地址函数 LOC();%LOC()(在(在Fortran90中新增)中新增) (4)位运算函数(在)位运算函数(在Fortran90中新增)中新增) OR、AND、XOR、LSHIFT、RSHIFT系统函数调用系统函数调用 方法:写出相应的函数名字,并在后面的括号

6、中给出所要方法:写出相应的函数名字,并在后面的括号中给出所要计算的自变量值计算的自变量值 如:如:SQRT(9.0)、)、ABS(X)注意:注意:(1)每个函数对所需自变量的个数和自变量类型有明确的)每个函数对所需自变量的个数和自变量类型有明确的规定和要求。规定和要求。(2)系统函数的函数返回值也具有一定的类型。一般返回)系统函数的函数返回值也具有一定的类型。一般返回值与自变量类型一致。值与自变量类型一致。(3)函数引用时,自变量必须写在括号里,自变量可以是)函数引用时,自变量必须写在括号里,自变量可以是常数、变量或表达式。常数、变量或表达式。7.2 函数子程序函数子程序函数子程序的编写方法函

7、数子程序的编写方法例例7-1 编写求编写求1+2+3+N的值的函数子程序。的值的函数子程序。应当注意:应当注意:引用函数子程序时写出的是函数名,但函数的返回引用函数子程序时写出的是函数名,但函数的返回值却是函数的结果值。每一个函数子程序中都要使用一个结果值却是函数的结果值。每一个函数子程序中都要使用一个结果变量。变量。1.函数开始语句的一般形式FUNCTION 函数名(形参表)RESULT(结果名)2.函数结束语句 是函数的结束标志,将控制返回到主调程序。 END FUNCTION 函数名3.函数过程体 是函数语句和函数结束语句之间的程序段,分为说明部分和执行部分。说明部分应对程序体内一切变量

8、、数组等实体(包括变元)作出说明,同时还要说明函数结果变量名,但不可说明函数名。执行部分中必须对函数结果名至少赋值一次。4.形参 可以是变量名、数组名、过程名、指针等。函数子程序编写规则:函数子程序编写规则:函数调用函数调用 函数子程序的调用形式与内在函数的引用形式相同,函数函数子程序的调用形式与内在函数的引用形式相同,函数子程序的调用应出现在表达式中。调用形式:子程序的调用应出现在表达式中。调用形式:函数名(实元表)函数名(实元表)注意:实元与虚元个数、类型、位置一一对应,但实元与虚元注意:实元与虚元个数、类型、位置一一对应,但实元与虚元名字可以不同。名字可以不同。例例7-2 编写函数子程序

9、,求编写函数子程序,求nxxxxn32132121132前前n项的和,项的和,x和和n的值在调用时给定。的值在调用时给定。练习:练习: 计算函数计算函数Sinh(x)的值,当)的值,当ex的通项值小于等于的通项值小于等于1E-6时停止。计算公式如下:时停止。计算公式如下:2301.23!nxnxxxexn !2)(xxeexSinh !主程序如下:主程序如下: Program main1 Real: myExp,y,x Write(*,*) Enter x: Read(*,*)x Y=(MyExp(x)-MyExp(-x)/2.0 Write(*,100) Sinh(,x,)=,Y END PROGRAM !函数子程序!函数子程序Function MyExp(x) result (exp_res) Real:Exp_res,x,s,t integer:n N=0 T=1 S=1 do while (ABS(T)1E-5) N=N+1 T=T*X/N S=S+T end do Exp_res=S END FUNCTION QUESTION?12

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > matlab

copyright@ 2008-2023 1wenmi网站版权所有

经营许可证编号:宁ICP备2022001189号-1

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