如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
上章回顾:理解数组的概念,含义与定义方法掌握引用数组元素的方法理解记录的概念,含义与定义方法掌握使用记录常用方法本章要点:理解过程与函数的概念掌握过程与函数的定义方法掌握过程与函数中三种参数的传递的概念及特点掌握过程与函数的调用方法5.0循序渐进学理论5.0.1过程与函数的概念5.1过程5.1.1事件过程的创建与调用2.事件过程的调用可以在过程代码中调用已经创建的事件过程。如为按钮Button3创建独立的OnClick事件过程来调用已经存在的Button1Click事件过程:5.1.2通用过程的语法格式5.1.3通用过程的创建与调用procedureButton(Sender:TObject);beginCase(SenderasTButton).Tagof0:form1.Button2.Enabled:=False;1:form1.Button1.Enabled:=False;2:Beginform1.Button1.Enabled:=True;form1.Button2.Enabled:=True;end;end;end;procedureTForm1.Button1Click(Sender:TObject);beginbutton(sender);end;【例5-2】计算阶乘5!,7!15!及其他们的和,如程序所示。procedureFact(m:Integer;vartotal:Int64);vari:Integer;begintotal:=1;Fori:=1Tomdototal:=total*i;end;procedureTForm1.Button4Click(Sender:TObject);vara:integer;tot,s:Int64;begins:=0;a:=5;fact(a,tot);s:=s+tot;a:=7;fact(a,tot);s:=s+tot;a:=15;fact(a,tot);s:=s+tot;Panel1.Caption:=format('5!+7!+15!=%d',[s]);end;5.2函数5.2.1函数的语法格式【例5-3】已知直角三角形两直角边,计算第三边(斜边)的函数:procedureTForm1.Button1Click(Sender:TObject);vari,j,k:real;begini:=strtofloat(edit1.Text);j:=strtofloat(edit2.Text);k:=sqrt(sqr(i)+sqr(j));showmessagefmt('三角形的第三边长度为:%1.4f',[k]);end;5.2.2函数的创建与调用Functionfact(x:Integer):int64;Varp:int64;i:Integer;beginp:=1;Fori:=1Toxdop:=p*i;fact:=p;//赋值给函数名End;procedureTForm1.Button1Click(Sender:TObject);Varsum:Int64;i:Integer;beginsum:=0;fori:=3To10dosum:=sum+fact(i);panel1.Caption:=format('1!+2!+...+10!=%d',[sum]);end;【例5-5】求输入三个任意整数,求其最大公约数。如程序所示FunctionHcf(m,n:Int64):Int64;varr,c:Int64;beginIfm<nThenbeginc:=m;m:=n;n:=c;end;r:=mModn;Whiler<>0dobeginm:=n;n:=r;r:=mModn;end;Hcf:=n;end;procedureTForm1.Button1Click(Sender:TObject);varl,m,n,t:int64;beginl:=strtoint(Edit1.Text);m:=strtoint(Edit2.Text);n:=strtoint(Edit3.Text);Ifl*m*n>0Thent:=Hcf(Hcf(l,m),n);panel1.Caption:=format('3个数的最大公约数是:%d',[t]);end;5.3向子程序传递参数5.3.1参数传递方式5.3.1参数传递方式5.3.2函数与过程的重载5.4子程序的嵌套与递归5.4.1子程序的嵌套Functioncomb(n1,m1:int64):real;vars,t,u:real;