ID: 21011981

浙教版(2023)六年级上册信息科技 第10课 韩信点兵枚举法的实现 课件(共26张PPT)+教案

日期:2024-11-27 科目:信息技术 类型:小学教案 查看:78次 大小:3268799B 来源:二一课件通
预览图 0
举法,PPT,26张,课件,实现,韩信
    (课件网) (浙教版)六年级 上 第十课 韩信点兵枚举法的实现 学习目标 激趣导入 新知讲解 思考-讨论 课堂练习 课堂小结 课后作业 新课标要求 新课标要求 通过生活中的实例,了解算法的特征和效率。能用自然语言、流程图等方式描述算法。知道解决同一问题可能会有多种方法,认识到采用不同方法解决同一问题时可能存在时间效率上的差别。 对于给定的任务,能将其分解为一系列的实施步骤,使用顺序、分支、循环三种基本控制结构简单描述实施过程,通过编程验证该过程。 学习目标 激趣导入 你知道韩信点兵的故事吗?韩信是怎么计算出剩余士兵的数量呢? 激趣导入 新知讲解 新知讲解 问题描述 一 新知讲解 一、问题描述 秦朝末年,楚汉相争。有一次,韩信带领 1500 名士兵打仗。战后,死伤四五百人。剩下的士兵中,他命令士兵 3 人一排,结果多出 2 名;接着命令士兵 5 人一排,结果多出 3 名;又命令士兵 7 人一排,结果又多出 2 名。韩信马上宣布:我军还有 1073 名勇士! 这就是“韩信点兵”故事的由来。 新知讲解 一、问题描述 假如由你来“点兵”, 你将采用何种算法? 新知讲解 抽象与建模 二 新知讲解 二、抽象与建模 韩信点兵的过程可表示为数的除法运算。 “□”指剩下的士兵总数,用变量 x 来表示。根据“死伤四五百人”可知,变量 x 的范围为 1000~1100 且同时满足“x 除 3 余数为 2、x 除 5 余数为 3、x 除 7 余数为 2”这三个条件。 新知讲解 二、抽象与建模 可建立如下模型: 枚举 x 在 1000~1100 范围内的每一个值,判断条件“x 除 3 余数为 2、x 除5 余数为 3、x 除 7 余数为 2”是否同时满足,满足条件的 x 就是要求的解。即: 当 x=1000 时,条件“x 除 3 余数为 2、x 除 5 余数为 3、x 除 7 余数为 2”是否同时满足? 当 x=1001 时,条件“x 除 3 余数为 2、x 除 5 余数为 3、x 除 7 余数为 2”是否同时满足? …… 思考-讨论 想一想 当 x=1100 时,条件“x 除 3 余数为 2、x 除 5 余数为 3、x 除 7 余数为 2”是否同时满足? 新知讲解 算法设计 三 新知讲解 三、算法设计 根据上述的抽象与建模,解决韩信点兵的问题可采用枚举算法。x 的值依次取 1000~1100 范围内的值,可以采用循环结构,判断条件“x 除 3 余数为2、x 除 5 余数为 3、x 除 7 余数为 2”是否同时满足,可以采用分支结构。 新知讲解 三、算法设计 新知讲解 算法的程序实现 四 新知讲解 四、算法的程序实现 在 Python 中,求余数的运算符为“%”,即表达式 x % y 的功能是“用 x除以 y,取余数”,如“5 % 2”的结果就是 1。因此,条件“x 除 3 余 2 ”就可表示为:x % 3==2。 要判断多个条件是否同时被满足,需要用“and”逻辑运算符,即表达式 x and y 的功能是“当 x 和 y 的值都为真时,表达式的值为真”。因此,条件“x 除 3 余 2 且 x 除 5 余 3 且 x 除 7 余 2 ?”就可表示为:x % 3==2 and x % 5==3 and x % 7==2。 新知讲解 四、算法的程序实现 上述算法用 Python 语言编写的程序如下: 1、在计算机编程中,枚举算法是一种通过尝试所有可能情况来解决问题的方法。下面哪个例子最适合用枚举算法解决?( D ) A、找出一个数组中的最大值 B、搜索包含特定关键字的文本文件 C、计算给定整数的阶乘 D、找出一个整数数组中所有的排列方式 课堂练习 单选题 2、假设有一个由n个元素组成的集合,如果要找出这个集合的所有子集,应该选择以下哪种算法?( C ) A、贪心算法 B、递归算法 C、枚举算法 D、随机算法 课堂练习 单选题 课堂小结 课后作业 假如“韩信点兵”的问题描述修改为:秦朝末年,楚汉相争。有一次,韩信带领 1500 名士兵打仗。战后,死伤一二百人。剩下的士兵中,他命 ... ...

    ~~ 您好,已阅读到文档的结尾了 ~~