内容正文:
《算法的多样性》教学设计
一、教学内容分析
《算法的多样性》是浙江影视出版社出版的小学信息技术六年级上册第二单元《算法的效率》的第1课,解决同一个问题可能会有多种算法,不同算法的效率也有可能是不一样的。在利用算法解决问题时,要根据问题求解的需求设计出合适的算法。前面一个单元主要介绍计算机中实现算法的一般步骤,解算法与计算机程序之间的关系,计算机中实现算法的一般步骤:抽象建模、设计算法、验证算法,以猜数字算法设计为主题,尝试算法设计的应用,表格建模的应用,初步使用循环和分支结构来设计算法,使用python语言来验证猜数字游戏的算法设计。本课主要从猜数字游戏的两种算法入手,介绍算法的多样性,认识顺序查找和二分查找。
二、学习对象分析
本课的授课对象为六年级学生,同学们在第一单元了解了计算机中实现算法的一般步骤,算法与计算机程序之间的关系,知道了计算机中实现算法的一般步骤:抽象建模、设计算法、验证算法,尝试设计了猜数字游戏的算法,并用流程图描述,用python语言来验证猜数字游戏的算法设计,为本次课的学习打下了坚实基础。
三、教学目标
1. 同一问题存在多种算法;
2. 同一问题的多种算法验证;
3. 初步感知顺序查找和二分查找。
教学重点:同一问题存在多种算法,同一问题的多种算法验证。
教学难点:同一问题的多种算法验证,初步感知顺序查找和二分查找。
核心素养指向:
四、方法策略
采取任务驱动式教学,以学为本有效地落实教学目标。辅以案例分析法、归纳总结法、小组合作法,在解决问题的过程中,体验学习过程,发展计算思维。
五、教学流程
(一)生活案例导入,引出课题
教学内容与活动
设计意图
说一说生活算法,引出主题
活动一:生活中解决问题的算法
1.说一说从学校到少年宫的路程
2.现实中,解决一个问题的算法是不是唯一的?你能举例来说明吗?
建构:现实中,解决一个问题的算法往往具有多样性,即可用多种不同的算法来解决同一个问题。
通过生活中解决问题的算法的多样性,激发同学们的兴趣,引出主题。
(二)猜数字游戏算法,学习新知
教学内容与活动
设计意图
1.问题描述
活动二:描述猜数字游戏算法
和同伴之间描述猜数字算法。
(利用计算机可以来实现一些小游戏。如猜数字游戏,计算机预先在1~100 范围内设定一个目标数 mb,同学 A 输入数字去猜该目标数。计算机根据同学 A 的输入数字给出“大了”“小了”或“对了”的提示,直到同学 A的输入数字等于目标数,游戏结束。)
2. 问题分析
活动三:给出不同猜数字游戏算法
(1) 这个猜数字游戏是一个“查找”问题,即在 1~100 范围内查找数 mb。针对该问题,可采用多种不同的策略来解决请思考有哪些算法?
(2) 若采用“顺序查找”的策略,在1~100范围内查找数37,则一共需比较多少次?
(策略一:顺序查找
依次将 1、2、3、…、99、100 (或 100、99、98、…、2、1)与 mb 比较,直到找到为止。
策略二:二分查找
先取 1~100 的中间数 50 与 mb 比较,若 mb 等于 50,则查找成功;若 mb 小于 50,则取 1~49 的中间数 25 与 mb 比较;若 mb 大于 50,则取 51~100 的中间数 75 与 mb 比较……如此反复,直到找到为止。)
小知识:计算机根据所给条件查找出满足条件的对象,即在存储的一批数据内寻找出一个特定的数据,或者确定在该批数据内是否存在这样的数据。
3. 问题的多种算法设计
活动四:选择一个策略,运用流程图描述算法
(1) 绘制顺序查找策略的流程图。
(2) 绘二分查找策略的流程图。
4. 问题的多种算法验证
活动五:验证猜数字游戏算法
(1) 选择一个算法,编写程序验证。
(2) 上述程序中,若变量的值为137,则程序运行结果是什么?若要显示对应提示,则应如何修改程序?
对猜数字游戏算法进一步认识。
从猜数字游戏的两种算法入手,介绍算法的多样性,认识顺序查找和二分查找。
选择一个策略,运用流程图描述算法,使得算法描述更加清晰。
使用计算机语言进行算法验证,学习常见的python语句。
(三)巩固延伸,拓展练习
教学内容与活动
设计意图
1.总结所学,拓展提升
总结本课所学
2.练一练
在上述算法一中,若变量 qs 的取值依次为 100、99、…、2、1,则相应算法和程序如何修改?
当堂练习,巩固加深。拓展延伸。
板书设计
数据整理
同一问题存在多种算法
同一问题的多种算法验证:顺序查找 二分查找
学科网(北京)股份有限公司
$$