已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年内容变现合作协议
- 2025浙江杭州市富阳区粮食收储有限公司招聘9人笔试历年参考题库附带答案详解
- 2025浙江宁波市奉化区红果文体产业运营管理有限公司招聘面谈笔试历年参考题库附带答案详解
- 2025河北承德热力集团招聘35人笔试历年参考题库附带答案详解
- 2025广西贺州市润贺投资开发有限公司招聘笔试历年参考题库附带答案详解
- 2025广东江门市江海区银信资产管理有限公司招聘1人(财务总监)笔试历年参考题库附带答案详解
- 2025年枞阳县供销投资有限公司公开招聘4人笔试历年参考题库附带答案详解
- 2025山东省城镇规划建筑设计院有限公司招聘5人笔试历年参考题库附带答案详解
- 2025四川长虹新能源科技股份有限公司招聘公共设备管理电气技术等岗位5人笔试历年参考题库附带答案详解
- 2025内蒙古煤炭建设工程(集团)总公司招聘9人笔试历年参考题库附带答案详解
- 2025全球智能体发展进展、面临挑战与对策建议报告-赛迪智库
- 2026高考物理大一轮复习-第三章 阶段复习(一) 力与直线运动-专项训练【含答案】
- 船舶修理质量通病防治措施
- 2025-2030中国金融租赁行业经营动态及前景趋势预测报告
- 核能数字化应用-洞察及研究
- 大学入团考试试题及答案山东
- 内镜护士考试题库及答案 测试卷
- 建筑公司销售管理制度
- 2025年氯化铝铁混合剂项目市场调查研究报告
- 一例肺栓塞患者的护理查房
- 《桂枝香·金陵怀古》
评论
0/150
提交评论