通过子程序实现程序的模块化_第1页
通过子程序实现程序的模块化_第2页
通过子程序实现程序的模块化_第3页
通过子程序实现程序的模块化_第4页
通过子程序实现程序的模块化_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

子程序

过程

函数val(s,k,code)Delete(s,w,k)length(s)copy(s,w,k)子程序通过子程序实现程序的模块化。

programmain;子程序1说明;子程序2说明;

Begin

子程序1;子程序2;

End.过程给某语句序列组成的子程序赋予一个适当的名字。程序中凡是需要出现这个语句序列的地方,可简单的写上子程序名。这种完成一个操作的子程序称为过程;语句序列的定义称为过程说明。过程1、过程说明procedure

过程名(形式参数表);

说明部分;

begin

语句序列;end;

可选[var]变量名:类型说明的变量只在本过程内有效过程2、过程调用过程名(实在参数表);(1)实参的个数、类型必须与形参一一对应。(2)过程调用的步骤为:计算实参的值,将值或变量的“地址”传递给对应的形参,执行过程体,返回调用处。过程3、应用举例输出两个整数中较大的值过程3、应用举例Programex;Varx,y:integer;procedurelarger(a,b:integer);begin

ifa>bthenwriteln(a)

elsewriteln(b)

end;

Beginread(x,y);

larger(x,y)End.函数如果一个子程序执行后能返回其结果值,那么它就可以用于表达式中,称这种子程序为函数,这种语句序列的定义称为函数说明。函数1、函数说明function

函数名(形式参数表):函数类型;

说明部分;

begin

语句序列;end;

可选[var]变量名:类型说明的变量只在本过程内有效返回函数值的类型至少应该给函数名赋一次值,以便把函数值带回调用程序函数2、函数调用函数名(实在参数表);(1)实参的个数、类型必须与形参一一对应。(2)函数调用的步骤为:计算实参的值,将值或变量的“地址”传递给对应的形参,执行函数体,返回调用处。函数的调用只能出现在允许表达式出现的地方,或作为表达式的一个因子。函数3、应用举例输出两个整数中较大的值函数3、应用举例Programex;Var

x,y,z:integer;functionlarger(a,b:integer):integer;

begin

ifa>bthenlarger:=a

elselarger:=b;

end;

Beginread(x,y);

z:=larger(x,y);

writeln(z)End。形参和实参

子程序调用(过程调用或函数调用)的执行顺序:实参和形参结合执行子程序返回调用处继续执行实参与形参间进行数据交换

实参与形参的个数、顺序、类型必须一一对应。数值形参(值参)格式:(参数名表:类型)1、实参与值参之间的数据传递是单向的,只能是实参值值形参。2、与值参对应的实参必须有确定的值。3、当调用返回主程序后,值参的存储单元释放。数值形参(值参)Programjiaohuan;Var

a,b:integer;ProcedureSwap(x,y:integer);Var

t:integer;Begin t:=x;x:=y;y:=t end;Begin a:=1;b:=2;

Writeln(a:3,b:3);

swap(a,b);

Writeln(a:3,b:3);End.输出结果:

212两数交换数值形参(值参)abxyt1212121变量形参格式:(var

参数名表:类型)1、对应的实参只能是变量名,不能是值或表达式。2、对应的实参可根据需要决定是否事先有值。4、当调用返回主程序后,变量形参的存储单元不释放,但已无定义,不得再使用。3、调用子程序时,实参地址变量形参。变量形参Programjiaohuan;Var

a,b:integer;ProcedureSwap(var

x,y:integer);Var

t:integer;Begin t:=x;x:=y;y:=t end;Begin a:=1;b:=2;

Writeln(a:3,b:3);

swap(a,b);

Writeln(a:3,b:3);End.输出结果:

221两数交换变量形参abxyt12121全局变量、局部变量及其作用域全局变量及其作用域在程序开头的说明部分定义和说明的变量称为全局变量。

(1)在全局变量和局部变量不同名时,其作用域是整个程序。(2)在全局变量和局部变量同名时,全局变量的作用域不包含同名局部变量的作用域。局部变量及其作用域在子程序内部说明的变量称为局部变量。局部变量的作用域是其所在的子程序。形式参数也属于局部变量。(1)当外层过程的局部变量名和嵌套过程中的局部变量不同名时,外层过程的局部变量作用域包含嵌套过程。(2)当外层过程的局部变量名和嵌套过程内的局部变量名同名时,外层局部变量名的作用域不包含此过程。作业1、计算M=max(a,b,c)/(max(a+b,b,c)*max(a,b,b+c))2、给一个任意6个整数的数列,假设为123456,建立具有以下内容的方阵。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论