计算机软件编程基础.ppt

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

问题:求阶乘n!的值。 现在要求n!的值,我们的思路是:主程序负责处理输入n值,自定义一个jc()函数,专门计算n!的值。 var n,N=0; n=parseInt(WScript.StdIn.ReadLine()); jc(n); WScript.StdOut.WriteLine(N); 可以看到,主程序是非常简单的。下面我们来看jc(n)这个函数如何编写。 function jc(n) { if (n1) N=n*jc(n-1); else N=1; return N; } 我们以n=5为例,算一下5的阶乘。 51,真 N=5*jc(5-1) 41,真 N=4*jc(4-1) 31,真 N=3*jc(3-1) 21,真 N=2*jc(2-1) 11,假 N=1 1 2 3 4 5,返回1 6,返回2*1=2 7,返回3*2=6 8,返回4*6=24 9,返回5*24=120 从不符合 条件到符 合条件 四、关于编程题的解答 小题题型主要是一些涉及概念的考查,又或者是一些小程序的求解。 如: 请选出符合 false || ( )为真的选项。 A、”5==5” B、23 C、false D、5==5 答案是D。A是一个字符串,不存在真与假的问题;B明显是假;C也是假;D为真,故选D。 判断:JavaScript允许在一个函数的函数体中调用另一个函数。 正确?错误? 明显正确。详见“嵌套、递归”。 下面哪一个语句定义了一个名为pageNumber的变量并将它的值赋为240? [A]var PageNumber=240 [B]pagenumber=240 [C]var pageNumber=240 [D]var int named pageNumber=240 A定义的是PageNumber;B定义的是pagenumber;D多了int named ;正确答案是C 表达式123%7的计算结果是_____。[A]2 [B]3 [C]4 [D]5 答案: C (123÷7=17……4) 下面的哪一个表达式将返回真?[A](3==3)(51) [B]!(17=20) [C](3!=3)||(72) [D](1==1)||(20) A:真 假?假;B:!(真)?假 C:假 || 假?假;D:真 || 假?真 故选D 目前,编程题的大题题型主要有: 完善程序:给出问题和(或)答案,以及大部分程序,但关键部分留空,待答题者填上,我在免修试中只遇到过这种。 编写程序求解问题:给出一个人脑不可能在短时间内解决只能通过编程让计算机求解的问题,让答题者求出答案 读程序写结果:要求答题者读完程序后笔算出结果,我们考试是机试,所以一般不出这种题型。 下面我们来举几个例子,首先是前面用递归解决的n!问题,现在我们想一想,能不能不用递归解决吗?答案是可以的,但是递归思想是有它的先进性的,对于编程解决许多问题是很有帮助的。 好,回到正题,类似这种其中一个变量是以1递增(1*2*3……)的问题。我们是毫不犹豫地选择“循环”。 仿照1+2+3……设计的“sum作累加i作递增”的思路,我们用s作累乘器,i作递增。那么,思路就出来了。 s的初始值是1,i的初始值是1; s=s*i,i=i+1; i递增到由用户输入的n为止。 写成程序,如下 var s=1,i,n; n=parseInt(WScript.StdIn.ReadLine()); for (i=1;i=n;i++) { s=s*i; } WScript.StdOut.WriteLine(s); 完善程序题:参照书本P206的第20题的式子,计算Pi的值。程序以给出。 var Pi,i,n; n=parseInt(WScript.StdIn.ReadLine()); for (……1……) { if (…2…) Pi=Pi-1/(2*i-1); else Pi=Pi+1/(2*i-1); } WScript.StdOut.WriteLine(…3…); 明显第三空填的是:4*Pi。 第一个空是循环条件。很自然,我们知道,i的初始值是1,直到n结束,i=i+1。所以,第一空填的是:i=1;i=n;i++ 接着,是一个判断结构。条件为真则Pi=Pi-1/(2*i-1),为假则Pi=Pi+1/(2*i-1)。那么条件应该是什么呢?应该是奇数项执行+,偶数项执行-,但是,并没有一个指令用来判断奇偶啊,怎么办呢? 我们知道,奇偶的本质是:偶数能被2整除,而奇数不能被2整除而且余数肯定是1。余数?想到什么了?对了,是除取余%!我们可以通过除取余%来判断余数是否为1(除以2余数不为1就为

文档评论(0)

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

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

1亿VIP精品文档

相关文档