函数与过程的教学演示文稿〔本人自己制作〕1.ppt

函数与过程的教学演示文稿〔本人自己制作〕1.ppt

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

计算机程序设计的基本思想 自定义函数的格式 有 关 说 明 1、函数首部: (1)函数首部以保留字function开头。 (2)函数名是用户自定义的标识符,如程序中的sum。在同一程序中,函数名不能与其他变量名重名,也不能再用作数组名或过程名等。 (3)括号内的形式参数表,简称形参表。形式参数即函数的自变量。如程序中的n ,其值来源于主程序的调用。当主程序调用函数时,形参才能得到具体的值并参与运算,求得函数值。 (4)函数的类型就是函数值的类型。 2、函数体:与程序体基本相似,由说明部分和执行部分组成。 (1)函数体中的说明部分,用来对本函数使用的常量、变量和类型加以说明,这些量只在本函数内使用,称为局部变量。与函数体外的同名变量无关。 (2)函数的执行部分由begin开头,以end结束,中间有若干用分号隔开语句,只是end后应加分号,不能像程序末尾那样用句号。 (3)在函数的执行部分,至少应该给函数名赋一次值,以便在函数执行结束后把函数值带回调用该函数的程序中。 自定义函数的调用 例1:设计一个求阶乘的函数,计算5! Program lx1; Function fct(n:integer):integer; Var I,t:integer; begin T:=1; For I:=1 to n do t:=t*i ; fct:=t; End; Begin Writeln(fct(5)) End. 求下图五边形面积,边长及对角形长a1---a7由键盘输入。 多边形: 求两个正数的最大公约数 分析:利用欧几里德“辗转相除”算法求m、n两数的最大公约数。 具体方法是:   若m是n的倍数,那么m,n的最大公约数就是n;否则反复利用下面的原理: 设r是m除n的余数(即r=m mod n),那么m和n 的最大公约数等于n和r的最大公约数。即当m不能整除n时,先求出r=m mod n,再将n赋值于m,将r赋值于n,继续计算r=m mod n,……直到余数为0为止,此时的除数就是两个数的最大公约数。 示例: 过  程 过程和函数一样,也是子程序。一个过程对应一个需要完成的任务。PASCAL中提供了不少标准过程,如:READ,WRITE,GET,NEW,PUT......这些标准过程在程序中可以直接调用。但仅仅这些标准过程还不能满足我们的需要,我们还要自己定义过程,就象函数一样。但函数必须以值的形式返回,而过程不一定返回一个值,只是执行一个任务而已;函数只能返回一个值,而过程可以返回不止一个值。所以函数不能取代过程。 标准过程:如读语句read(x),写语句write(x)等是pascal预先规定的 自定义过程:用户根据具体情况,自己定义一段具有特定功能的小程序。 自定义过程的格式: Procedure 过程名(形式参数表);{过程首部}  局部变量说明部分;  begin 语句1;  语句2; ……..  语句n end; 例1、任意输入3个互不相等的整数a,b,c经过处理之后,让他们满足关系abc 分析:   两两比较,如果某两个变量不满足前者大于后者的要求,就交换其值。在设计程序时,让主程序完成对变量的输入、输出和比较操作,把“交换数据”的操作让过程来完成。 程序如下: Program lx1; Var a, b, c:integer; Procedure swap(var m,n:integer);{过程首部} Var t: integer ; Begin t:=m; m:=n; n:=t; End; Begin write(‘input a,b,c:’ ); readln(a ,b ,c ); if ab then swap(a,b); if ac then swap(a,c); if bc then swap(b,c); writeln(a,’’,b,’’,c) ; End. 过程的有关说明 过程首部 1、由保留字procedure开头 2、procedure后面的过程名是用户为自己的过程起的名字,如程序中的swap,过程名是一个合法的标识符,因此,应遵守标识符的各种规定。过程名只用来标识一个过程,不代表任何数据,所以它没有类型; 3、形式参数部分可以包含一个或多个参数,多个参数之间用分号分隔。过程也可以没有任何参数。没有参数的过程叫做无参过程。形式参数有值形参数和变量参数两种,例如:procedure pc(m:integer; var t: real ); 未用var说明的m为值形参,带var之后的t 为变量形参。如果几个参数同为值形参或同为变量形参,并

文档评论(0)

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

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

1亿VIP精品文档

相关文档