内容正文:
好,同学们,我们来讲一下这个函数类型题。首先这一题我们来看一下,这里面的话是1357的阶乘。我们就可以巧妙的使用我们的这个递归函数来完成它。因为递归函数在做这种类型的题目是非常方便的。我们N为一的时候返回一,我们来跟大家讲一下为什么。比如说五的阶乘是54 5乘4乘3乘2,1乘1 3是3乘2乘2乘1。也就是说任何数它的阶乘最后都是到一结束,那么一就是我们要找的结束条件。好,然后这样的话else里面我们是N乘以一个阶,N减一就行了。好,写完这个阶层之后,我们要求累加和少PX等于0。大家可以看一下1357它的公差是2,那我们可以使用range函数,就是1到8在我们的步长为二就可以了。这样的话我们就是S加,我们把我们的调用我们刚才写的这个阶乘函数。好,把二放进去。最后答一下我们S这题我们就做完了,这是第一题。第二题我们来看一下,一般考试的时候,像我们那个上机实操的话,也会把这个东西空出来让大家去写的。也就是说这块的代码他会把这块给一个注释,就比如说是啊start或者说是program。这一块。还有这一块给它框起来,让大家去在这个里面去填写,所以基本上是这样的一个情况。好,那么再看我们的这个下一题,就是我们的这个使用递归函数。它这个里面明确告诉你了要用递归函数,我们就得使用这个递归函数来求。我们首先来观察一下它的一个特点,我们首先把第一项这个一可以写成一锄一。那你看第一项是一锄一,第二项是一除2,第三项是2除3。我们有没有发现就是比如说二这个分子是不是来源于上限的分母,而我们的这个分母是不是就来源于上下的分子和分母之和。你看这个分子来源于我们的这个分母,这个分母又来源于前面的分子和分母之和。我们再找一个这一项,你看这个五是不是来源于前项的分母,然后这个分母的话是不是来源于前项的分母和分子之和,对不对?好,我们可以这样,我们把这个数列给它摊开,11235 83、21。大家看一下这个东西是不是感觉很眼熟,其实它就是我们的什么菲波拉契数列。我们在做解题的时候,我们非布拉切数列还是非常重要的。这个东西的话也是一个基础,就是我们学递归第一次接触到的就是低位函数,就是我们的非波拉切数列。那摊开之后非波拉切数列,我们再看,你看你把前项除以一个后项,前一项除以一个后项,得到的是不是就是我们上面写的这个,就是我们的这个数列,对不对?你看把前一项除以一个后项,也就是说总结一下就是前一项除以一个扣一下,那这样的话就得到了我们这样的每一个项了。接下来我们S等于0,我们先写一个我们的这个用递归函数写一个我们的费波拉切数列。我们费波拉切数列的话,大家是要会熟练的写出来。来当我们的N小于到2的时候,返回我们的什么一,你看第一项和第二项是不是都是返回一,对吧?所以是N小于到2的时候返回的一,否则返回我们的。那你看从第三项开始都是前两项之和,比如说三是一加2得来的那我们就是N减一前一下,这是前第二项,这样的话就行了。然后我们要求累加和也是一样,少不了S等于0。接下来就是我们的-2,因我们的这个它要求十下,那我们就是遍历1到11,这样的话S加等于一个F括号A加就是这是前一项除以一个F括号I加1,这是不是就后一项?那就是说前一项除以一个后一项,打印一下我们的S注意这里面它要让你计算结果保留两位小数,我们就用格式化输出点2% F然后再是5%的S就行了。我们来给大家演示一下。好的,这样的话得到的结果就是6.48。我们也可以在这儿打一下,看看是不是产生的是每一项跟上面的这个是一样的。来我们也是用这个是看一下我们的FI。F2加1。大家看一下,你看第一下1分之1,第二项2分之1,第三项3分之2、5分之3是没有问题的。好,所以这一题我们就做完了。再看我们的这个第三题,考试的时候,他一般可能会把这个空出来让大家去填,也是会把这一块的空出来让他去填。所以就类似于这个题目问题就是我们的这个上级实操的题目。第三题找出100到1000之间所有的水仙花,水仙花就是每一个位数的立方等于它的本身,其中判断是否为水仙花的部分。使用函数分装的方法。这个其实我们也知道,如果不告诉我们的话,我们其实也可以使用这种函数分装的方法。我们首先第一个函数,好,那么在这里面我们就采用的是水仙花这样的一个缩写。大家在命名的时候也可以使用缩写。在考场的时候我们不要去想那些花里胡哨的命名方法,我们就用这个缩写,简单实用。好,定义了这个之后,我们首先这里面传一个参数N我们要对这个N进行一个分解,分解成我们的百位、十位、个位。我们的百位的话是跟100区的,然后我们的这个十位的话是跟十取整,再跟十取数个位的话直接跟十取数就行了。那如果说我们的这个BW的3次方加上一个GW的3次方,这是SW的3次方,再加上一个我们的GW的3次方。如果是等等于它的本身本身是N那么这个就是我们的水性挖。那我们这个题目的话可以先在这立一个标记,默认为true,那默认为false。这里面要设计好,就是我们假设它不是水晶花,那么同学们如果满足这个条件,那是不是就是水晶花?那我们就把它置为处就行了,最后把我们的这个flag返回数据就行了。也就是说我们这个函数只做一件事儿,判断这个N到底是不是那个水循环,是就返回true,不是就返回false。接下来我们便利这个啊100到1000之间的数字。好,那么我们调一下我们刚才写的水仙花这个函数,把我们的I丢进去。这个函数的话,我们刚才讲了它有返回值,返回是啊要么true要么false,如果true就是水花,否则就不是。我们答一下我们的这个I好,我们来看一下,这样的话我们这个四个水仙花就找到了。所以这个题目也是一样,我们考试的时候会把这块分装起来,写出来或者说大家自己写。就比如说如果我是作为这个上机考试的出题人,肯定会把这一块给它包裹起来,就是空出来让大家去填,所以大家一定要去会使用这个函数分析的方法去做我们这个题目。其实所谓的函数分装,就是把一些常用的变量给它作为我们的函数参数,把一些共同的代码给它放到我们的函数题里面就行了。我们还有相关的课后练习题,也是我们这个上级的一个真实的实操题。大家根据我们前面讲的这些内容,好好的去完成我们的这个题目。然后也会有这个课后参考答案,大家可以自己去多去理解跟上机就是实操多。咱们学习编程的话,一定要是多练习,多感悟。你这样的话才能够把我们的这个编程学好。我们今天这节课就到这里。
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。