4.3《非数值计算》第二课时教学设计

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

4.3《非数值计算》第二课时教学设计

资源简介

非数值计算
一、基本说明
1.面向学生:高一年级
2.课课名称:《非数值计算》(高中信息技术教科版必修一数据与计算第四章第三节)
3.教学时间:45分钟
4.课时:1
二、教学目标
1.运用合适的算法形成解决问题的方案。
2.了解算法设计中的分治思想,灵活运用二分查找解决实际问题。
3.体验递归算法,并结合具体问题开展编程实践
三、教学重难点
(一)教学重点
理解分治算法与递归算法的原理。
(二)教学难点
能够选择合适的算法解决生活中的问题。
教学过程
【课前预习】(5min)
通过课前预习并设置前置性作业,检查学生学情并了解教学重难点。
课堂题目:
【课题引入】(3min)
运行程序“猜数字游戏”。计算机在0~100中随机产生一个数,学生尝试要多少次才能猜中。
==》如何猜得又快又准? ==》采用二分查找法。
【新知讲授】(5min)
1.分治思想
分治的设计思想,是将个难以直接解决的大问题,分割成些较小的同类问题,各个击破,最终达到解决问题的目的。
教师以案例讲解二分查找法查找具体数据的过程。
【活动一设计】(5min)
运行“猜数字游戏”,理解二分查找法。并把任务一程序补充完整,求解二分查找中目标数据的查找次数。
x=int(input("请输入要查找的100以内的整数:"))
step = 0 # 记录查找次数
flag1 = 1 # 目标区域左边界
flag2 = 100 # 目标区域右边界
while(flag1 <= flag2):
mid = (flag1+flag2)//2 # 中间值
step = step+1 # 查找次数加
if mid>x:
flag2 = ① # 右边界前移
② mid < x:
flag1 = mid+1 # 左边界后移
else:
break #找到目标数据,退出循环
print("查找次数为:", ③)
input("运行完毕,请按回车键退出...")
【新知讲授】(5min)
2.递归思想
通过一段视频引入“汉诺塔问题”,教师讲解“汉诺塔问题”的玩法。有三根柱子A、B、C。A柱上有N个盘子,大的在下,小的在上,要求把这N个盘子从A柱移到C柱,在移动过程中可以借助B柱,每次只允许移动一个盘子,并且在移动过程中三根柱子上都要保持大盘在下,小盘在上。
【活动二设计】(5min)
学生体验汉诺塔中三个或四个盘子的移动,并尝试寻找规律。
【新知讲授】(5min)
通过视频演示汉诺塔的规律,教师讲解原理。挑战把4个圆盘从A柱移到C柱的任务。
① 将前三个圆盘从A柱移到B柱。
② 将第四个圆盘从A柱移到C柱。
③ 将前三个圆盘从B柱移到C柱。
【活动三设计】(5min)
学生继续挑战汉诺塔问题,移动4或5个盘子。
【新知讲授】(5min)
递归:直接或间接地调用自身的方法称为递归。可以将递归简单类比为具有自相似性重复的事物。
递归的基本思想:是把规模较大的问题层层转化为规模较小的同类问题求解。可用“分”,“治”,“合”三个字概括
递归的条件:递推关系+边界条件。
【课堂总结】(2min)
以思维导图总结概括本节课的知识点。
五、板书设计
数值计算
分治算法
递归算法

展开更多......

收起↑

资源预览