4.1.2自定义函数迭代法和递归法课件高中信息技术教科版必修一_第1页
4.1.2自定义函数迭代法和递归法课件高中信息技术教科版必修一_第2页
4.1.2自定义函数迭代法和递归法课件高中信息技术教科版必修一_第3页
4.1.2自定义函数迭代法和递归法课件高中信息技术教科版必修一_第4页
4.1.2自定义函数迭代法和递归法课件高中信息技术教科版必修一_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

做出判断的分支2.2编制程序实现对垃圾类型的分类判断功能简介如果输入“猪可以吃”显示“这是厨余垃圾(湿垃圾)”如果输入“猪吃了会死”显示“这是有害垃圾如果输入“猪不吃”

显示“这是其他垃圾(干垃圾)”如果

输入“卖了可以买猪”显示“这是可回收垃圾”其他显示“输入错误,请重新输入”算法设计自定义函数、迭代法和递归法教科版信息技术必修1数据与计算单分支流程图

本节课学习目标1、掌握自定义函数的含义并会运用自定义函数解决问题2、运用迭代法实现简单算法,解决问题3、运用递归法实现简单算法,解决问题单分支流程图一、自定义函数:1.代码复用。程序中多处用到功能相似或相同的代码时可以用代码复用的方法来提高程序的效率。通常使用“函数”和“模块”等方法实现。代码复用可以减少重复编写代码的工作量,也可以使程序的结构更加清晰。2.函数。函数分为系统函数和用户自定义函数。系统函数即函数库里的标准函数,是程序设计语言或操作系统提供给用户的一系列已经编写好的程序。如print()函数和input()函数等。用户自定义函数是用户自己编写的程序代码。一般包括函数名、参数、返回值和函数体等四个部分。定义的格式如下:基本格式:def函数名(参数):

语句或语句组return返回值需要说明的是:(1)函数名和函数体必不可少;(2)参数是用来向函数传递值的,可以省略(空括号不能省略);参数也可以有多个,中间用“,”分隔;(3)函数执行完毕,由return语句将值返回给调用者;如果没有返回值,该语句可以省略;(4)采用函数名(参数列表)的方式调用函数。单分支流程图

二、迭代法:1.迭代法也称辗转法,是一种不断用变量的旧值递推新值的过程。选代算法是用计算机解决问题的一种基本方法,它利用计算机运算速度快、适合做重复性操作的特点,让计算机对一组指令(或一定步骤)进行重复执行,在每次执行这组指令(或这些步骤)时,都从变量的原值推出它的一个新值作为新一轮计算的输入。2.迭代法求解问题的三个步骤:(1)确定迭代变量;(2)建立迭代关系式;(3)控制迭代过程。

打开《百日冲刺书》第49页看选择题第1—3题单分支流程图

斐波那契数列:指的是这样一个数列:1,1,2,3,5,8,13,21,34,55,89...这个数列从第3项开始,每一项都等于前两项之和。斐波那契数列的定义者,是意大利数学家莱昂纳多·斐波那契,1202年,他撰写了《算盘全书》斐波那契数列,又称黄金分割数列,因数学家莱昂纳多·斐波那契以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……

在数学上,斐波那契数列以如下被以递推的方法定义:F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n≥2,n∈N*)

单分支流程图

典型例题:阅读下列斐波那契数列应用的Python代码,完成1~3题。deffib(n):fl=f2=1foriinrange(3,n+1):f1,f2=f2,

return

n=int(input("请输人需要计算的月份数:"))print("兔子的总对数:",fib(n))

1.在①处的表达式应该是(

)A.f1B.f(n)C.fl+f2D.fib(n)2.在②处函数返回的值为(

)A.f1B.f2C.f1+f2D.fib(n)3.函数调用结束时i的值为(

)A.nB.n+1C.n-1D.f1+f2

单分支流程图三、递归法:1.递归,顾名思义,分为递推和回归。指一种通过重复将问题分解为同类的子问题,从而解决问题的方法。递归算法通过调用程序自身来实现。2.使用递归算法需确定的两个条件:(1)递推关系;(2)边界条件(即递归退出的条件)。3.递归与迭代:(1)递归与送代算法都需要重复执行某些代码;(2)递归是重复调用函数自身,遇到满足终止条件时逐层返回;迭代是重复反馈过程的活动,其目的是通近所需目标或结果,通常使用计数器结束循环。

打开《百日冲刺书》第55页看典型题析题目单分支流程图典型例题:以下为用递归算法求自然数n的阶乘的Python程序,横线处的代码应为()deffact(n):ifn==0:return1else:return①n=int(input(“请输入一个整数:"))print(fact(n))A.n*fact(n-1)B.n*(n-1)*(n-2)*...*(1)C.n*(n-1)D.fact(n-1)分析:本题考查的是递归表达式,要确定递推关系。例如,求fact(4)的过程如下:fact(4)=4*fact(3)=4*(3*fact(2))=4*(3*(2*fact(1)))=4*(3*(2*(1*fact(0))))单分支流程图学生活动:考试真题提问学生先做后讲1、已知a,b,c是三角形的三条边,p为三角形的半周长,即p=(a+b+c)/2,计算三角形面积S的海伦公式为:求当a,b,c的值分别为3,4,5时,三角形的面积。importmath#导入数学模块defhl(a,b,c):#定义求三角形面积的函数

p=①s=math.sqrt(②)#sqrt用于计算算术平方根

return③#返回面积的值a,b,c=3,4,5#边长依次赋值print("此三角形的面积S为:",hl(a,b,c))2、打开文件“考生文件夹\671\斐波那契数列.py”,完善fib函数并保存。实现功能:用递归法求斐波那契数列1,1,2,3,5,8,…第n项的值。deff(n):#定义递归函数

ifn==1①n==2:return1else:return②n=int(input("请输入正整数n的值:"))print(③)#打印结果单分支流程图学生活动:考试真题提问学生先做后讲3、求m和n的最大公约数。(m>n,m,n均为自然数)deff(m,n):#递归定义函数,求m和n的最大公约数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论