4.3非数值计算第二课时-【新教材】2021-2022学年教科版(2019)高中信息技术必修一课件(20PPT)

资源下载
  1. 二一教育资源

4.3非数值计算第二课时-【新教材】2021-2022学年教科版(2019)高中信息技术必修一课件(20PPT)

资源简介

(共20张PPT)
4.3非数值计算
第二课时
循环结构:计算机程序周而复始地重复同样的步骤,称为循环。
知识点回顾
例如:
For n in range(1,100):
print(‘我爱你,中国’)
例如:
n=1
while n<=100:
print(‘我爱你,中国’)
n=n+1
自定义函数——可以复用的代码
知识点回顾
基本格式
def 函数名(参数): #函数说明(函数实现功能)
语句或语句组 # 空四格
return 返回值
Part 01
任务驱动
求解5!、10!、100!值为多少?
5!的阶乘 1*2*3*4*5
程序代码:
s=1
for i in range(1,6):
s=s*i
print(s)
请同学完善程序,运行程序能同时计算出5!、10!、100!值
循环 复制粘贴,修改代码
自定义函数
策略
01
02
调用 自定义函数
新知新授
Part 02
比一比谁的速度快?
6!阶乘值是多少?
知识点分析,运用分支策略——分
6!的值
6*5!
6*5*4!
6*5*4*3!
6*5*4*3*2!
6*5*4*3*2*1!
6*5*4*3*2*1*0!
6*5*4*3*2*1*0*-1!
……………
知识点分析,运用分支策略——治
6!的值
6*5!
6*5*4!
6*5*4*3!
6*5*4*3*2!
6*5*4*3*2*1!
6*5*4*3*2*1*0!
6*5*4*3*2*1*0*-1!
……………
F(n)=
1(n=1)
n*f(n-1) (n>2)
知识点分析,运用分支策略——合
F(n)=
1(n=1)
n*f(n-1) (n>2)
递归算法
直接或间接地调用自身的方法称为递归。可以将递归简单类比为具有自相似性重复的事物。
递归的基本思想
递归的基本思想是把规模较大的问题层层转化为规模较小的同类问题求解。对递归而言,递推与回归,二者缺一不可。
递归可用“分”,“治”,“合”三个字概括
1)分:将原有问题分解成K个子问题。
2)治:对这K个子问题分别求解。如果子问题的规模仍然不够小,则将其再分解为K个子问题,如此进 行下去,直到问题足够小时,就很容易求出子问题的解。
3)合:将求出的小规模问题的解合并为一个更大规模问题的解,自下而上逐步求出原问题的解。
新知新授
Part 03
体验经典小游戏——汉诺塔
汉诺塔(Tower of Hanoi)源于印度传说中,大梵天创造世界时造了三根金钢石柱子,其中一根柱子自底向上叠着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。
初始状态 第四步
第一步 第五步
第二步 第六步
第三步 第七步
重点难点解读
递归可用“分”,“治”,“合”三个字概括
2、汉诺塔的递归
1)汉诺塔的递归过程:
将N个木盘从A杆移动到C杆,需要借助中间的B杆,只要超过一个木盘,在移动过程中,总会存在起始杆、过渡杆及目标杆的问题。因此,定义函数时,用到了4个参数:haooi(n,s,m,t),n表示需要移动的盘子数量,S表示盘子的起始杆,m表示中间过渡杆,t表示目标杆。可用下图表示:
编程如下:
总结
1. 理解递归思想。
2. 理解递归算法。
3. 迭代与递归的异同。
作业
思考:斐波那契数列能否用递归算法解决问题。
感谢聆听

展开更多......

收起↑

资源列表