函数与过程PPT讲稿.ppt

上传人:石*** 文档编号:69740790 上传时间:2023-01-08 格式:PPT 页数:13 大小:1.04MB
返回 下载 相关 举报
函数与过程PPT讲稿.ppt_第1页
第1页 / 共13页
函数与过程PPT讲稿.ppt_第2页
第2页 / 共13页
点击查看更多>>
资源描述

《函数与过程PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《函数与过程PPT讲稿.ppt(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、函数与过程第1页,共13页,编辑于2022年,星期五procedure fiveline;var i:integer;begin for i:=1 to 5 do writeln end;procedure nlines(n:integer);var i:integer;begin for i:=1 to n do writeln end;无参过程,输出无参过程,输出5 5个空行个空行带参过程,输出带参过程,输出n n个空行个空行过程调用过程调用过程名过程名(实在参数表)(实在参数表)实在参数若有,是用逗号隔开的变量或表达式,他们必须实在参数若有,是用逗号隔开的变量或表达式,他们必须与形式参数

2、顺序一一对应,个数相同,类型一致,而实参的名与形式参数顺序一一对应,个数相同,类型一致,而实参的名字与形参取名无关字与形参取名无关如:如:procedure lowterm(var n,d:integer);lowterm(n,d);lowterm(n+d);lowterm(n,n/d);实参只有一个实参只有一个第二个实参是实型,而对应的形参是整型第二个实参是实型,而对应的形参是整型第2页,共13页,编辑于2022年,星期五过程调用是一个独立的语句,当执行到该语句时,则将实参中的信息传送过程调用是一个独立的语句,当执行到该语句时,则将实参中的信息传送给相应的形参(若有的话),然后转去执行过程说

3、明中的语句,执行完毕给相应的形参(若有的话),然后转去执行过程说明中的语句,执行完毕后返回到调用位置后返回到调用位置例例3:定义一个打印由:定义一个打印由“”组成的三角形的过程,然后,在主组成的三角形的过程,然后,在主程序中输入行数,并调用该过程输出三角形。程序中输入行数,并调用该过程输出三角形。第3页,共13页,编辑于2022年,星期五Procedure sjx(x:integer);Var I,j:integer;Begin for I:=1 to x do begin for j:=1 to I do write();writeln;end;End;Var a:integer;Begin

4、 read(a);sjx(a);End.第4页,共13页,编辑于2022年,星期五练习练习1:分别用函数和过程计算:分别用函数和过程计算S=1/7!+1/9!+1/13!Procedure f(n:integer;var fac:real);var i:integer;k:longint;begin k:=1;for i:=2 to n do k:=k*i;fac:=1/k end;Var s1,s2,s3:real;begin f(7,s1);f(9,s2);f(13,s3);s1:=s1+s2+s3;writeln(s1)end.Function f(n:integer):real;var

5、 i:integer;k:longint;begin k:=1;for i:=2 to n do k:=k*i;f:=1/k end;Var s:real;begin s:=f(7)+f(9)+f(13);writeln(s)end.第5页,共13页,编辑于2022年,星期五三、参数传递三、参数传递形参有形参有4种:值参数、变量参数、过程参数、函数参数种:值参数、变量参数、过程参数、函数参数形式参数表中前无形式参数表中前无var,后,后有类型的参数有类型的参数 形式参数表中前有形式参数表中前有var后后有类型的参数有类型的参数 形参形参实参实参值参值参类型赋值相容的表达式类型赋值相容的表达式变

6、量参数变量参数同一类型的变量同一类型的变量例:例:var x:real;i:integer;procedure change(y:real);begin end;change(sin(x)+0.5);change(1.0);change(x);change(i);若将过程首部改为:若将过程首部改为:procedure change(var y:real);只有只有change(x)正确正确第6页,共13页,编辑于2022年,星期五形参是值参:形参是值参:过程或函数被调用时,系统为每个值参开辟临时过程或函数被调用时,系统为每个值参开辟临时存储单元,然后将对应实参的值赋给值参。由于值参与实参是存储

7、单元,然后将对应实参的值赋给值参。由于值参与实参是不同的存储单元,所以过程体中对值参的改变不会影响实参,不同的存储单元,所以过程体中对值参的改变不会影响实参,数据的传送是单向的,当流程返回到调用程序时,值参所占的数据的传送是单向的,当流程返回到调用程序时,值参所占的存储单元被释放。存储单元被释放。形参是变量参数:形参是变量参数:进入过程体前,系统将实参的存储地址传送进入过程体前,系统将实参的存储地址传送给形参,过程体执行期间,对变量参数的操作就是对相应实参给形参,过程体执行期间,对变量参数的操作就是对相应实参的操作,从而达到调用函数与被调函数之间的操作,从而达到调用函数与被调函数之间互相传送数

8、据的目互相传送数据的目的。的。参考课本参考课本P84P86第7页,共13页,编辑于2022年,星期五例例Program transmit;var a,b:integer;procedure p(var x:integer;y:integer);begin x:=x+5;y:=y+5;writeln(x=,x,y=,y)end;begin a:=3;b:=3;p(a,b);p(a,b);writeln(a=,a,b=,b)end.x=8 y=8x=13 y=8a=13 b=3阅读课本例阅读课本例69P86第8页,共13页,编辑于2022年,星期五四、标识符的作用域四、标识符的作用域在主程序中说明

9、的常量、类型、变量、过程名等标识符,它们在主程序中说明的常量、类型、变量、过程名等标识符,它们的作用域是整个程序,故称为全程量。而在过程或函数中说明的作用域是整个程序,故称为全程量。而在过程或函数中说明的常量、类型、变量、参数以及嵌套在其内的过程名等标识符,的常量、类型、变量、参数以及嵌套在其内的过程名等标识符,作用域是说明它的过程或函数分程序之内,在之外不能使用,作用域是说明它的过程或函数分程序之内,在之外不能使用,这些标识符成为局部量。这些标识符成为局部量。如果在过程或函数中局部量与全程量(或非局部量)同名,则如果在过程或函数中局部量与全程量(或非局部量)同名,则阻碍了过程或函数对同名全程

10、量(或非局部量)的访问。阻碍了过程或函数对同名全程量(或非局部量)的访问。Program example;var x,y:integer;procedure change;var x:integer;begin x:=2;y:=2;writeln(x,y)end;begin x:=1;y:=1;writeln(x,y);change;writeln(x,y)end.全全局局量量与与局局部部量量分分析析结果结果112212第9页,共13页,编辑于2022年,星期五五、嵌套五、嵌套一个函数或过程可能要求调用另一个函数或过程,一个函数或过程可能要求调用另一个函数或过程,我们称这种调用为函数与过程的嵌

11、套我们称这种调用为函数与过程的嵌套Program nest;procedure outer1;procedure inner(z:real);begin .end;inner begin end;outer1 procedure outer2;begin end;begin主程序主程序 end.调用原则(函数同过程):调用原则(函数同过程):1、外层的主程序或过程可以调用相邻、外层的主程序或过程可以调用相邻内层的过程,但不允许隔层调用内层的过程,但不允许隔层调用2、内层可以调用外层过程、内层可以调用外层过程3、同一层的过程可以相互调用,但要、同一层的过程可以相互调用,但要遵守遵守“向前说明向前

12、说明”的原则的原则nestouter1outer2inner第10页,共13页,编辑于2022年,星期五过程和函数的区别过程和函数都为子程序,但也有区别:1、标识符不同。函数的标识符为FUNCTION,过程为:PROCEDURE。2、函数中一般不用变量形参,用函数名直接返回函数值;而过程如有返回值,则必须用变量形参返回。3、过程无类型,不能给过程名赋值;函数有类型,最终要将函数值传送给函数名。4、函数在定义时一定要进行函数的类型说明,过程则不进行过程的类型说明。5、调用方式不同。函数的调用出现在表达式中,过程调用,由独立的过程调用语句来完成。6、过程一般会被设计成求若干个运算结果,完成一系列的

13、数据处理,或与计算无关的各种操作;而函数往往只为了求得一个函数值。第11页,共13页,编辑于2022年,星期五1、设计一个过程,计算圆的面积。在主程序中输、设计一个过程,计算圆的面积。在主程序中输入一个半径值,然后调用该过程,并输出圆的面入一个半径值,然后调用该过程,并输出圆的面积。积。const pi=3.1415926;var r,s:real;procedure yuan(x:real;var y:real);begin y:=pi*x*x;end;begin readln(r);yuan(r,s);writeln(s=,s:6:2);end.第12页,共13页,编辑于2022年,星期五作业编写一个函数,根据参数指定的编写一个函数,根据参数指定的n,计算出,计算出函数值函数值x,计算公式如下:,计算公式如下:第13页,共13页,编辑于2022年,星期五

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁