第6(FLASH)章_编程基础.ppt

  1. 1、本文档共100页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6(FLASH)章_编程基础

* 中山大学计算机科学系 6.6.4 函数参数的使用 例6.36 定义一个含有参数的函数Show(text),它输出参数text中的字符串。实现程序如下: function Show(text) { WScript.Echo(text); } Show(JavaScript真棒!); * 中山大学计算机科学系 6.6.4 函数参数的使用 6.6.4.2 使用多个参数 当使用多个参数时,函数调用的各个实参按照其排列的先后顺序依次传递给函数定义中的形参。 例6.37 定义一个多参数函数Calculate(x,y,op),用于显示对形参x、y进行形参op指定的运算结果。 function Calculate(x,y,op) {//对形参x,y进行形参op指定的运算(如+、-、*、/等),并显示 var exp,result; exp = x + op + y; result = eval(exp); WScript.Echo(x,op,y,=,result); } Calculate(3,2,+); Calculate(4,5,-);Calculate(6,7,*);Calculate(8,9,/); * 中山大学计算机科学系 6.6.5 使用函数返回值 6.6.5.1 给函数添加返回值 方法: return 表达式; 例6.38 编写函数Max(x,y): function Max(x,y) {//求x,y中的最大值 var max; if (xy) max=x; else max=y; return max; //结束函数,并把变量max的值作为函数的返回值 } var m; m = Max(100,200); WScript.Echo(Max(100,200)= ,m); * 中山大学计算机科学系 6.6.5 使用函数返回值 6.6.5.2 区分函数和过程 只返回undefined的函数称为过程。 过程和函数的一个显著区别是:过程调用单独构成一条语句;而函数调用出现在表达式中。 例6.39 如果一个正整数只能被1和自身整除,那么这个数就是素数。求出1~100之间的所有素数。 编程思路:如果p能够被2、3、4、…p-1之中的任何数整除,那么p就不是一个素数,否则就是素数 * 中山大学计算机科学系 6.6.6 函数的嵌套调用 6.6.6.1 函数嵌套调用的形式 在一个函数定义的函数体语句中出现对另一个函数的调用,这就是函数嵌套调用,如图4.41所示。 当一个函数调用另一个函数时,应该在定义调用函数之前先定义被调用函数。 * 中山大学计算机科学系 6.6.6 函数的嵌套调用 例6.40 输入1个数n,求1+(1+2)+(1+2+3)+…+(1+2+…+n)的值。 编程思路:引入只求1~n的累加和函数sum1_n(n),那么1到1~n的累加和分别是sum1_n(1)、sum1_n(2)、sum1_n(3)…sum1_n(n),最终将这些累加和加起来就可求解。 * 中山大学计算机科学系 6.6.6 函数的嵌套调用 6.6.6.2 解决嵌套调用引起的效率问题 当使用多个函数时,可能会引起运行效率问题 例6.41 使用单重循环求 1+(1+2)+(1+2+3)+…+(1+2+…+n) 编程思路:引入另一个累加器变量(如total),使该变量在每次循环时累加变量sum的值 例6.41和例4.40的实现程序都能正确求解,其主要差异是运行速度。如果输入一个比较大的数(如n=10000),那么例4.41将立刻算出结果;而例4.40则运行时间较长 初学编程时,要优先考虑程序的可读性 * 中山大学计算机科学系 6.6.7 递归函数 递归函数是指在一个函数定义的函数体中出现对自身函数的直接(或间接)调用。 递归函数的引入来自于对问题的递归解决方法。比如,对于求阶乘10!,可以采用递归算法。 先计算9!的值,然后通过10*9!可得出结果,而要计算9!,又可以分解为9*8!,以此类推,直至2*1!,而1!等于1。 阶乘的递归定义:对于n!,若n=1,则n!=1;否则n!=n*(n-1)! * 中山大学计算机科学系 6.6.7 递归函数 例6.42 设计一个递归函数,求阶乘n!的值。 在递归函数中有两个必不可少的要素: 1)有一个测试是否继续递归调用的条件,如上例中的“if(n=1)”,如果满足则执行“fac=1;”,不再递归。 2)有一个递归调用的语句,如上例中的“fac=n*factorial(n-1);”。 * 中山大学计算机科学系 6.6.7 递归函数 例6.43 输入两个正整数,求出最大公约数。 编程思路

文档评论(0)

wyjy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档