5.2迭代与递归 学案 - 浙教版2019 高中 信息技术 选修1 学案

2024-06-11
| 5页
| 197人阅读
| 1人下载
精品

资源信息

学段 高中
学科 信息技术
教材版本 高中信息技术浙教版必修2 信息系统与社会
年级 高二
章节 -
类型 学案-导学案
知识点 -
使用场景 同步教学-新授课
学年 2024-2025
地区(省份) 全国
地区(市) -
地区(区县) -
文件格式 DOCX
文件大小 411 KB
发布时间 2024-06-11
更新时间 2024-06-11
作者 碧水蓝天
品牌系列 -
审核时间 2024-06-11
下载链接 https://m.zxxk.com/soft/45695679.html
价格 1.50储值(1储值=1元)
来源 学科网

内容正文:

5.2迭代与递归 导学案 学科 高中信息技术 教材版本 浙教版2019选修1 课题 5.2迭代与递归 一、【学习目标】 1.理解递归的算法思想。(学科核心素养:信息意识) 2.能合理选用数据结构,理清递归公式及结束条件,递归的递推与回归两个阶段。(重点)(学科核心素养:信息意识、计算思维) 3.能用自然语言、流程图、Python语言描述递归算法。能掌握递归算法的一般设计思路。(难点)(学科核心素养:信息意识、计算思维) 4.能自觉应用递归算法,解决生活、学习中的问题。 二、【自主探究】 任务一:完善划线处代码: 利用欧几里得算法求最大公约数的python程序,其中 m和n是迭代变量,迭代关系是n→m和m%n→n,由旧值推出新值,然后循环执行,直到余数为0,结束迭代。 m=int(input("请输入数m:")) n=int(input("请输入数n:")) while n!=0: t=n m=t print( ) 任务二:在程序划线处填空题:圆周率其实就是一个圆周长与直径的比值我们通常用希腊字母π表示,其中用莱布尼茨公式是这样的 小新用迭代法编写了一个Python程序用于求圆周率Pi,请完善程序(精确到小数点后6位) i=1;s=0;k=1;ans=0 while ① ans+=1 s+=k*1/i i+=2 ② print("pi=",s*4) print(迭代次数:",ans) 3、 课后练习题 1.某Python程序如下: n=int(input()) s=x=0 while n!=0: x=n%10 s=x+s n=n//10 print(s) 程序运行后,输入n 的值为20220412,输出的结果是 ( ) A.13 B.1119 C.2022 D.9 2. 下列Python程序的功能是求斐波那契数列的第n 项的值:( ) n=int(input()) t1=t2=1 for i in range(3,n+1): print("斐波那契数列第"+str(n)+"项的值为:"+str(t) 方框中的代码由以下三部分组成:①tl=t2 ②t2=t ③t=t1+t2 下列选项中代码顺序正确的是 ( ) A.①②③ B.①③② C.③②① D.③①② 3. 利用迭代算法求圆周率π值的方法是:计算公式π/4=1-1/3+1/5-1/7+…,直到最后一项的绝对值小于10- ⁷为止。 Python程序如下: pi=0 fm=1 k=1 while abs(1/fm*k)>=0.0000001: pi=pi*4 print(round(pi,6) 方框中的代码由以下三部分组成:① fm=fm+2 ②k=-k ③pi=pi+1/fm*k 下列选项中代码顺序正确的是( ) A.①②③ B.③②① C.②①③ D.②③① 4.某Python程序如下: def add(n): if n==1 or n==2: s=1 else: s=2*(add(n- 1)+add(n-2)) return s m=5 sum=0 for i in range(1,m+1): sum+=add(i) print(str(sum)) 程序运行后,输出的结果是( ) A.44 B.32 C.16 D.6 5.某 Python程序如下: def convert(n,base): s="0123456789ABCDEF" if n<base: return s[n] else: return convert(n//base,base)+s[n%base] x=int(input()) y=int(input()) print(convert(x,y)) 程序运行后,输入x的值为164,y 的值为16,输出的结果是( ) A.104 B.401 C.4A D.A4 6. 编写一个简短的递归Python 函数,它接受一个字符串s 并且输出其逆置字符串。例如字符串“dog”的逆置字符串为“god”。程序代码如下: s=input("请输入字符串:") def reverse(s): if len(s)<=1: return s return print("逆置字符串为:",reverse(s)) 划线处应填入的代码应是 ( ) A.s[- 1]+reverse(s[1:]) B.reverse(s[1:])+s[- 1] C.s[- 1]+reverse(s[:- 1]) D.reverse(s[:- 1])+s[- 1] 7.有如下两个Python自定义函数: def gcd1(a,b): if a%b==0: ans=b else: ans=gcd1(b,a%b) return ans def gcd2(a,b): r=a%b while r!=0: a=b b=r r=a%b return b 下列说法不正确的是( ) A.函数gcd1采用了递归算法 B.函数gcd2采用了迭代算法 C.gcd1(18,gcd2(9,30))返回的结果是9 D.gcd1(6,15)和gcd2(9,24)返回的结果是相等的 课后练习答案 1 2 3 4 5 6 7 A D B A D C C 原创精品资源学科网独家享有版权,侵权必究!6 学科网(北京)股份有限公司 $$

资源预览图

5.2迭代与递归 学案 - 浙教版2019 高中 信息技术 选修1 学案
1
5.2迭代与递归 学案 - 浙教版2019 高中 信息技术 选修1 学案
2
所属专辑
相关资源
示范课
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。