第10讲 函数与过程一.ppt

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

函数和过程(一) 1) 函数和过程的定义 2) 函数和过程的基本操作 3) 形式参数和实在参数,变量参数和值参数的区别 4)函数和过程的实际应用 在结构化程序设计中,不但要求程序要采用顺序、分支和循环这几种基本结构,同时,在整个程序设计过程中,要求程序具有模块化,这样,子程序设计的显得非常有必要。 1.细化算法的过程,可以将每一个子问题运用一段相对独立的小程序来解决; 2.一些具有相同或功能相似的程序段在程序中的不同位置反复出现,可以将这样的程序段做成一个整体,用一个标识符给它起一个名字,凡是需要这个程序段的地方只要简单地引用其标识符即可。 3.子程序包括过程和函数两种形式。 一个程序就由一个主程序和一些子程序(也叫模块)组成。这样一来主程序的功能就变成了组织功能,什么时候需要某一个功能就可以让子程序去做,当然子程序也是你设计的,这样做的好处是为了便于编写和理解,特别是在大型的程序一般都由几百个子程序。 一、标准过程和标准函数 由Pascal定义的过程和函数。如我们熟悉的read,write等为标准过程;ord,chr等为标准函数,程序员编程时直接引用就行了。 二、自定义过程和函数 由程序员在程序中定义后再使用。给某个语句序 列组成的子程序赋于一个适当的名字。程序中凡是 需要出现这个语句序列的地方,可以简单的写上子 程序的名字。这种完成一个操作的子程序称为过程。 子程序的定义称为过程说明。 如果一个子程序执行后能够返回其结果值,那么 它就可以用于表达式中,称这种子程序为函数,这 种语句序列的定义称为函数说明。 三、函数和过程说明 四、函数和过程的调用 1) 函数调用 函数在语法上相当于一个表达式,所以,调用时,函数不能独立成为一个语句;它只能出现在表达式可以出现的地方。如下形式: X:=函数名(实在参数表); {X的类型与函数类型 必须一致} 如果函数类型是boolean,则还可以出现在条件语句中,充当条件表达式: if 函数名(实在参数表) then …… 2) 过程调用 过程在语法上相当于一个语句,在调用时,直接写下过程名即可: 过程名(实在参数表); 五、形参和实参 子程序调用(过程调用或函数调用)的执行顺序分为以 下几步: 实参和形参结合 —— 执行子程序 —— 返回调用 处继续执行 子程序说明的形式参数表对子程序体直接引用的 变量进行说明,详细指明这些参数的类别、数据类型 要求和参数的个数。子程序被调用时必须为它的每个 形参提供一个实参,按参数的位置顺序一一对应,每 个实参必须满足对应形参的要求。 Turbo Pascal在处理数据传送时有两种方法:一种是 传值,称为值参数;另一种是传地址,称为变量参数 1.值参数 例 计算|X|的函数 function abs(x:real):real; var z:real; begin if x=0 then z:=x else z:=-x abs:=z; end; 2.变量参数 在子程序执行过程中,对变量参数的操作,相当于 对引用实参的操作。 例 求出两个数中最大值的过程 procedure largest(a,b:integer;var c:integer ); { a,b为值参数;c为变量参数} begin if ab then c:=a else c:=b; end. 3.无参过程 例 无参过程,例如模拟TAB键,在屏幕上跳8个空格位置的过程。 procedure tab; var I:integer; begin For I:=1 to 8 do write(‘ ‘); End; 思考与练习: 1、 编程求出一整数N的所有质因数 。 2、输入ABCDE五个数据,输入xyzw四个算术运算符(+,-,*,/),计算算术表达式AxByCzDwE的值。 分析:可以求出N的所有的因数,然后判 断每一个 因数是否为质因数。 Program exam; {参考程序:} Var i,n:integer; function is_prime(m:integer):Boolean; var I:integer; Ok:Boolea

文档评论(0)

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

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

1亿VIP精品文档

相关文档