pascal_第6讲_过程和函数

pascal_第6讲_过程和函数

ID:36098858

大小:303.50 KB

页数:64页

时间:2019-05-05

pascal_第6讲_过程和函数_第1页
pascal_第6讲_过程和函数_第2页
pascal_第6讲_过程和函数_第3页
pascal_第6讲_过程和函数_第4页
pascal_第6讲_过程和函数_第5页
资源描述:

《pascal_第6讲_过程和函数》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、过程和函数过程一、过程的定义Pascal的过程定义由过程首部与过程体组成,其形式:Procedure过程名(形式参数表);说明部分;BEGIN过程体(语句块)END;1.过程首部(1)过程首部以关键词Procedure开头。(2)过程名与函数名的使用规则相同,但要注意过程名不能和同一程序中的变量、数组、函数同名。同时过程名不能代表任何数据,因此不必说明类型。(3)参数表中为过程的形式参数,用逗号分隔。过程和函数一样也可以不带形参,此时,只是在主程序调用它时,执行指定的操作。(4)形式参数的使用主要有值形参与变量形参。如下例:ProcedureFAC(A,B:real;

2、C:integer;varx,y:reaL);其中:A,B,C称为值形参,它们与在函数中介绍的形参相同;X,Y称为变量形参,在它们的前面冠有保留字Var;关于形式参数的有关内容将在后面介绍。2.过程体:过程体与函数体相同,也包括说明和执行这两个部分。(1)在过程体内使用的有关常量、变量等必须在过程体的说明部分内加以说明或定义。(2)在过程体说明的有关量,只有在过程体执行期间有效,当退出过程体后,为这些量分配的存储单元被释放。(3)过程体的执行部分不能给过程名赋值,因为过程名不能代表任何数据。二、过程的调用主程序是通过一条独立的过程调用语句来调用过程的。调用过程必须给出

3、一个过程名,并用实在参数代替形式参数,一般形式是:过程名(实在参数表);对于过程的调用要注意以下几点:(1)调用的过程必须在调用之前进行说明,也就是说必须先说明后调用。(2)调用过程时,通常是通过值形参给过程提供原始数据,通过变量形参将值带回调用程序。因此我们可以这样来理解:值形参是过程的输入参数,变量形参是过程的输出参数。(3)仅当在主程序中调用过程时,过程中的语句块才被执行,调用完毕自动返回主程序的调用点,使主程序继续往下执行。因此,过程中的过程定义仅起一个说明作用。例如,执行下面程序:(1)constx=100;(2)Proceduresub(x:integer

4、);BeginX:=x+200;Write(‘subx=’,x);End;(3)beginWrite(‘x=’,x);End.执行结果是:x=100为了说明问题,在程序的前面附加了(1)(2)(3)的标号。从程序的标号来看,虽然程序第(1)标号语句的下一语句的标号是(2),也就是过程sub的入口点。然而,由于执行该程序时并没有调用sub过程,因此执行完第(1)语句后,程序并不会自动进入从第(2)语句开始的该过程,因而打印出来的结果是x=100。过程应用举例例1:编写程序,求:S=2!+4!+6!+8!+10!测试数据:输入:无输出:3669866分析:此题不用过程也很

5、好求S,但经仔细研究可发现:用一个过程去完成每次求阶乘的计算,避免了同一功能程序的重复,使程序更为简洁,也更加容易阅读。程序如下:programaa;vari:integer;b,s:longint;procedurenjs(x:integer;vart:longint);varj:integer;begint:=1;forj:=1toxdot:=t*j;end;begins:=0;fori:=2to10doifnotodd(i)thenbeginnjs(i,b);s:=s+b;end;writeln(s);end.1.判断程序运行结果,不准用计算机算,只能用笔算。p

6、rogramg1;vars,a,b:longint;procedureadd(x,y:longint;varsum:longint);vari:integer;beginsum:=0;fori:=xtoydobeginsum:=sum+i;end;end;begins:=0;read(a,b);add(a,b,s);writeln(s);end.输入:910输出:练习一2.判断程序运行结果,不准用计算机算,只能用笔算。programg2;var k:real;procedurep(x:real;vary:real);varz:real;beginz:=x*x+3;y:

7、=y+z;end;begink:=1.0;p(2.0,k);writeln(k:0:2);end.输出:3.判断程序运行结果,不准用计算机算,只能用笔算。programg3;vara,b,c:integer;procedurepro;varc:integer;begina:=1;b:=2;c:=3;end;begina:=100;b:=200;c:=300;pro;writeln(a:5,b:5,c:5);end.输出:4.(文件名:g4.pas)将求一个数阶乘的方法设计为一个过程,利用这个过程,求输入的任意的两个数的阶乘和。(N,M<8)测试数据:

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。