第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
您可能关注的文档
- 第03章 角度测量.ppt
- 第二章宗教的历史发展.ppt
- 第06章_数组.ppt
- 第06章--Servlet核心技术.ppt
- 第06章_页面设置word.ppt
- 第二章地理数据的类型.ppt
- 第07章 分配理论.ppt
- 第二章人为失误与预防.pptx
- 第07章 交通方式分担.ppt
- 第06章 光与影的艺术_0823.pptx
- 2025年版汽车趋势报告 The 2025 EPA Automotive Trends Report.docx
- 2026年边缘计算开源平台EdgeX Foundry入门与二次开发.docx
- 2026年超声内镜放大内镜早癌诊断AI辅助识别系统临床评价.docx
- 2026年报废汽车回收与再制造逆向物流体系.docx
- 2026年产品碳足迹核算方法学:从摇篮到大门与从摇篮到坟墓.docx
- 2026年城乡要素平等交换双向流动政策创新试点申报材料.docx
- 2026年超导半导体接口电路架构与电平转换驱动器设计.docx
- 2026年财政贴息不再以再贷款支持为前提后的风险防范与合规要点.docx
- 2026年不动产信托登记试点政策对遗嘱信托支持.docx
- 2026年城乡有机废弃物协同处理技术方案.docx
最近下载
- 2024年河南省第三届职业技能大赛美容(世赛选拔)项目技术工作文件.pdf
- 2025年江苏苏州中学匡亚明班自主招生数学试卷真题(含答案详解).docx VIP
- 北京大学科研经费博士研究生专项招生计划招生指南.pptx VIP
- 2026年度江苏旅游职业学院单招《数学》考试综合练习完美版附答案详解.docx VIP
- 关爱女性健康 预防乳腺疾病.pptx VIP
- 说勤原文范文.docx VIP
- 2026年江苏旅游职业学院单招语文考试卷.docx VIP
- 外文翻译--基于单片机的智能电风扇控制系统(外文原文+中文翻译).docx VIP
- 用三坐标测量机正确测量同轴度误差.pdf VIP
- 2025年浙江慈溪中学提前自主招生考试数学试卷(含答案详解).docx
原创力文档

文档评论(0)