




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
函数定义的一般格式: FUNCTION ():; 函数首部 ; BEGIN END; 注意:函数体中至少应包括一个给函数名赋值的语句 := ,函数调用的一般格式: (实在参数表),例1:编程找出任意输入五个整数中的最大整数。,解:设输入的五个整数为n1、n2、n3、n4、n5,为了便于处理,引入一个中间变量t1,按如下步骤处理: 令t1=n1; 将t1与n2比较,将两者中较大的数放入t1; 将t1与n3比较,将两者中较大的数放入t1; 将t1与n4比较,将两者中较大的数放入t1; 将t1与n5比较,将两者中较大的数放入t1; 经过以上5步处理后,t1即为5个数中最大者。 从上面规划的步骤看来,从步骤到步骤需处理的目标是相同的,因此我们可以设计一段子程序Max(x1,x2),以找出x1和x2中最大的值并返回。,Program Exam1_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中)和后面二个数再求一次,就得到五个数的最大数。,Program Exam1_b; Var n1,n2,n3,n4,n5,t1: integer; Function max(x1,x2,x3: integer): integer; 自定义函数Max Var xx: integer; 函数内部变量说明 Begin 函数体 if x1x2 then xx:x1 else xx:x2; if x3xx then xx:x3; max:xx End; Begin 主程序 write(Input 5 numbers:); 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); End.,例2:编写一个求组合数 的函数,计算公式 为 (0nm),,科目一考试 驾驶员理论考试 科目二考试 场地考试 科目三考试 实际道路考试 科目四考试 安全文明驾驶常识考试 2016年驾驶员试题网学车试题大全,Program Exam2; Var m,n,cmn : integer; Function fac(k : integer) : integer; Var i, t : integer; Begin t:=1; for i:=2 to k do t:=t * i; fac:=t; End; Begin write(Please input m,n:); read (m,n); if (n=0) and (nm) then begin cmn:= fac(m) div (fac(n)*fac(m-n); writeln( c( ,m, ,n, )=, cmn ) end else writeln(Input error!) End.,过程定义的一般格式: PROCEDURE (); 过程首部 ; BEGIN ; END; 注意:过程的结果由参数送回,可以包括多个,过程调用的一般格式: (实在参数表),例3:输入三个不同的整数,按由小到大排序 。,Program exam3; Var a,b,c: integer; Procedure swap (VAR x,y:integer); 自定义过程 Var t:integer; Begin 过程体 t:=x; x:=y; y:=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 fhen swap (b,c); writeln (a:6, b:6, c:6); End.,形式参数的说明: 1、对于值参数,调用时将实在参数的值传给形式参数,然后参加运算,形式参数的值不会影响对应实在参数的值。 2、对于变量参数,在调用时将实在参数的地址传给形式参数,对形式参数的运算就是对于实在参数的运算。利用变量参数可以送回过程运算的结果。,例4 写出下列两个程序的运行结果。 program ex1; program ex2; var a,b:integer; var a,b:integer; procedure swap(x,y:integer); procedure swap(Var x,y:integer) ; var t:integer; var t:integer; begin begin t:=x;x:=y;y:=t; t:=x;x:=y;y:=t; end; end; begin begin a:=1;b:=2; a:=1;b:=2; writeln(a:3,b:3); writeln(a:3,b:3); swap(a,b); swap(a,b); writeln(a:3,b:3); writeln(a:3,b:3); end. end.,1 2 1 2 1 2 2 1,变量的作用域: 1、局部量:在子程序内部作用的变量 ,局部变量的作用域就是其所在的子程序。 2、全局量:主程序的说明部分中说明的量。全程量的作用域分两种情况: 当全程量和局部量不同名时,其作用域是整个程序范围(自定义起直到主程序结束)。 当全程量和局部量同名时,全程量的作用域不包含局部量的作用域。,分析该程序,写出运行结果 Program ex4; Var x,u: integer; Procedure change (x:integer; VAR y:integer); Begin x:=x+1; y:=y+1; writeln(x,y) End; Begin x:=1; u:=1; writeln(x,u); change(x,u); writeln (x,u) End.,x u 1 1 2 2 1 2,分析该程序,写出运行结果 Program ex5; Var x,y: integer; Procedure swap (x
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 停车技术考试题及答案
- 田径考试试题及答案
- 第41个教师节校长讲话:三心育德润心田三志引领立师范三力汇聚启新篇
- 2025年高压电工复审考试及考试题库含答案
- 2025年高级维修电工理论知识复习题库及答案
- 2025年高级保安员模拟试题及答案
- 铁路船务知识题库及答案
- 财务审批流程管理办法
- 西藏特产仓储管理办法
- 专利代理管理办法诚信
- 冷库液氨安全培训课件
- 研发中心建设项目可行性研究方案报告
- 2024年天津市静海县教育局公开招聘试题含答案分析
- 《酒吧服务与管理(第3版)》教案教案(模块十二)
- 康复科院感染管理制度
- 2025年民族宗教政策法规学习月知识竞赛试题库(含答案)
- 人工湖设计方案
- 人民币反假知识培训
- 夫妻吵架冷战协议书
- 《原发性肝癌诊疗指南(2024年版)》解读课件
- 私人诊所免责协议书
评论
0/150
提交评论