- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Pascal程序设计(第7课)-函数和过程
* * 第7课 计算机程序设计和问题求解的最基本的思想是:将一个大的复杂的问题分解为多个更小的、更简单的和更容易处理的小问题。只要单独解决每一个小问题,就可以借助这些小问题解决最终的大问题。并且这样做的好处是可以单独对每一个小问题进行设计,最后由主程序调用一个个的小程序,这样有利于合作开发。 【函数与过程程序设计】 我们前面学到的一些程序都是由较短的语句序列组成的,没有或很少有嵌套,但是在写较为复杂的程序时,比如说包括多级嵌套的程序,将会变得相当复杂和难以理解,所以我们引进了函数和过程的概念。 对于较为复杂的程序,我们可以只写一个初始的程序段,我们叫主程序。主程序主要负责总体的计算流程,控制各个子问题解决的先后顺序。而将每一个子问题求解的程序段作为一个单独的程序模块由主程序调用,我们就称这个单独的程序模块叫做函数或过程。 【函数与过程程序设计】 Pascal提供了一些标准函数,比如sin(正弦)、cos(余弦)、sqrt(开方)、abs(绝对值)函数等。我们在前面都已经用过,它们在表达式中引用是相当简单的。 Pascal提供的标准函数是有限的,并且有时不能满足某个问题的需要,这时就需要定义新的函数。 函数说明(函数定义)的一般形式: Function 函数名(参数表):函数类型; 说明部分; Begin 函数体 End; 【函数】 函数说明(函数定义)的一般形式: Function 函数名(参数表):函数类型; 说明部分; Begin 函数体 End; 【函数】 说明: (1)函数说明的第一行称为函数首部,它必须用Function开头,然后是函数名(合法的标识符)、参数表(由形式参数名表和说明形式参数的类型标识符组成)和函数类型(即结果的类型)。 (2)函数首部的后面是函数分程序,它由说明部分和语句部分组成。 (3)说明部分定义函数中使用到的变量,可以没有。 (4)语句部分又称函数体,由Begin和End括起来,函数体对数据后将运算结果赋给函数名,作为函数结果传给调用它的程序,所以在函数体中至少有一个给函数名赋值的语句: 函数名:=表达式; 函数说明(函数定义)的一般形式: Function 函数名(参数表):函数类型; 说明部分; Begin 函数体 End; 【函数】 注意: a、函数的类型即是结果的类型,只能由标准类型标识符(real、integer、char、boolean)或枚举、子界、指针等类型标识符指明; b、如果没有参数,形式参数表和括号要去掉; c、在参数表中,可以有多个参数,用“,”来分开相同类型的各个参数;用“;” 来分开不同类型的参数;各种类型的参数分别用“:”后的类型标识符说明。比如: (x,y,z:real;m,n:integer;ch:char) 函数调用:为了调用非标准函数,必须预先将函数定义(或称函数说明)写在主程序的说明部分,要求处于变量说明之后,然后在程序中直接使用函数即可。 函数调用的一般形式为: 函数名(实在参数表) 解释:函数调用必须出现在表达式中,函数的每次调用,是将每个实在参数的值赋给形式参数,由函数计算完成规定的处理,并送回处理结果。 【函数】 Program a1(input,output); Var n,i:integer; s:real; Function fac(t:integer):real; var j:integer; m:real; begin m:=1; For j:=2 to t do m:= m*j; fac:=m; end; Begin readln(n); s:=fac(n); {函数调用} Writeln(n,‘!=’,s); End. 例1:计算n!,其中n由键盘输入。 n为实在参数; t为形式参数; 注意: a、实在参数是调用时函数括号中的变量参数;形式参数是函数定义中使用的参数。通常情况下形式参数值的改变不会影响实在参数的数值。 b、实在参数与形式参数的个数要相同。实在参数与形式参数按照顺序一一对应,它们之间用“,”隔开。每个实在参数必须与它对应的形式参数在类型上赋值相容; c、实在参数可以是表达式。调用时先计算表达式的值,然后将它们赋给对应的形式参数; d、如果没有形式参数,则略去实在参数和括号。 【实在参数和形式参数】 函数是有局限性的,它们仅可以用于计算单个
原创力文档


文档评论(0)