第8讲函数和过程课件.ppt

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8讲函数和过程课件

函数和过程;函数;二、允许用户根据需要自定义函数 一)自定义函数的一般格式为: ???????????? function 函数名(形式参数表): 函数类型;?? {函数首部} ????????? ???局部变量说明部分; ???????????? begin ??????????????? 语句系列; ???? ??? 函数名:=表达式??????????????????????????{函数体 } ???????????? end;;二)调用函数 主程序通过调用函数得到函数的运算结果。 调用函数的一般格式为: ????????????? 函数名 (实在参数表)??? 调用函数时, 函数名后面圆括号内的参数称为实在参数。调用时即把这些实际值传送给函数形参表中的相应形参变量,因此实参的个数和类型应与形参一一对应,并且要有确定的。 形参不是实际存在的变量,它不占用内存单元,实参是在调用函数是所用的变量,调用函数时形参才开辟单元,并将实参的值赋给形参,一旦结束形参就释放内存单元。 函数不是单独的语句, 只能作为运算赋值或出现在表达式中。;例1:编程找出由键盘任意输入五个整数中的最大整数。 ;Program Exam41_a; Var n1,n2,n3,n4,n5,t1 : integer; Function max(x1,x2 : integer) : integer; Begin ? If x1x2 then max := x1 ???????? ?? Else max := x2; End; ? Begin ? Write(‘Input 5 numbers : ‘); Readln(n1,n2,n3,n4,n5); t1 := n1; t1 := max(t1,n2); t1 := max(t1,n3); t1 := max(t1,n4); t1 := max(t1,n5); Writeln(‘Max number : ‘,t1); End.;从上例看出,引入函数实际上是将一个复杂的问题划分成若干个易于处理的子问题,将编程化简的一种有效办法,而化简的方法是多种多样的,如前面已经做过求三个数中的最大数,所以可定义一个专门求三个数中最大数的函数(Max)。第一次用这个函数求出n1,n2,n3三个数中的最大数t1;第二次调用这个函数求出t1与n4,n5三个数中的最大数,也就是前三个数的最大数(已在t1中)和后面二个数再求一次,就得到五个数的最大数。因此,需要两次使用“求三个数中的最大数”,步骤如下: ①调用函数Max ( n1, n2, n3),求出n1,n2,n3中的最大者 t1; ②调用函数Max ( t1, n4, n5 ),求出t1, n4, n5中的最大者t2; ③输出最大数 t2。;Program Exam41_b; Var n1,n2,n3,n4,n5,t1: integer; ? function Max(x1,x2,x3: integer): integer; ??????????????{自定义函数Max} Var XX: integer;? ????????? ????????????????????????{函数内部变量说明} begin?? ???????????????????????????? ???????????????????????{函数体} if X1>X2 then XX:=X1? else XX:=X2; ? if X3>XX then XX:=X3; Max:=XX end; ? Begin ?????????????????????? ??????????????????????????{主程序} ? Write(Input 5 numb:); ? Readln(n1,n2,n3,n4,n5);???????????????????????????? {输入五个数} ? t1:=Max(n1,n2,n3);??????????????????????? {用函数求n1, n2, n3的最大数} ? t1:=Max(n4,n5,t1);???????????? ???????????{用函数求n4, n5, t1 的最大数} ? Writeln(Max Number :, t1); ? Readln End.;[例2]求任意输入的五个自然数的最大公约数。 解:⑴自定义一个专门求两自然数的最大公约数的函数GCD; ?? ⑵调用自定义函数,第一次求前两个数的最大公约数;从第二次开始,用每次求得的最大公约数与下一个数再求两个数最大公约数,直到最后。本题共四次“求两个数的最大公约数”

文档评论(0)

gm8099 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档