资源简介 非数值计算一、基本说明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)以思维导图总结概括本节课的知识点。五、板书设计数值计算分治算法递归算法 展开更多...... 收起↑ 资源预览