- 1、本文档共27页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Free pascal 高级培训
函数与过程 作用: 每一个函数或过程都可以看做是主 程序的一个子程序。能将复杂的问题分解成更小更简单的问题。 区别: 函数名能返回数值。 如 sqr(9)=81; copy(‘abc’,1,2)=‘ab’ 过程名不能返回数值。 如 inc(x) : x:=x+1; insert(s1,s,n): 改变字符串s。 delete(s,n,m); 改变字符串s。 定义新函数:function 格式:function 函数名(形式参数):函数类型 var 变量说明部分 begin 定义新函数:function 格式:function 函数名(形式参数):函数类型 var 变量说明部分 begin 函数的调用 格式:函数名(实在参数表) 函数的调用 格式:函数名(实在参数表) 求p=(a+b)!/(a!+b!) Var a,b:integer; p:real Function js(n:integer):real Var i,t:integer; begin t:=1; for i:=1 to n do t:=t*i; js:=t; end; begin readln(a,b); p:=js(a+b)/(js(a)+js(b)); Writeln(p); End. 自定义过程 格式: procedure 过程名(形式参数表); Var 变量说明部分 begin 过程体 end; 自定义过程 格式: procedure 过程名(形式参数表); Var 变量说明部分 begin 过程体 end; 自定义过程 格式: procedure 过程名(形式参数表); Var 变量说明部分 begin 过程体 end; 过程的调用 过程名(实在参数表) 过程的调用 过程名(实在参数表) 局部变量和全程变量 局部变量:在定义过程或函数中说明的变量。 function 函数名(形式参数):函数类型 var 变量说明部分 begin procedure 过程名(形式参数); Var 变量说明部分 begin 作用范围:所在的过程或函数中 局部变量和全程变量 Procedure jh( var a,b:char); Var t:char; Begin t:=a; a:=b; b:=t; End; Var n:char; i,j:integer; x:array [1..5] of char; Begin For i:=1 to 5 do read(x[i]); For i:=1 to 4 do For j:= i+1 to 5 do if x[i]x[j] then jh; For i:=1 to 5 do write(x[i]:5); End. 全程变量的作用范围 1、全程变量在过程中改变值时,新的值回到主程序后有效。 全程变量的作用范围 2、全程变量和局部变量同名时,全程变量只在主程序起作用。 Var i,t,s:integer; Procedure fa (n:integer); Var K:integer; Begin t:=1; For k:=2 to n do t:=t*k; End; Begin For i:=3 to 5 do begin fa(i); s:=s+t; end; End. Var a,b,c:integer; Procedure pro Var c:integer; Begin a:=1; b:=2; c:=3; End; Begin a:=100; b:=200; c:=300; Pro; Writeln(a:5;b:5:c:5); End. 过程嵌套 Procedure sub; procedure tu1; Begin writeln(‘+++++++++’) ; end; procedure tu2;
文档评论(0)