资源简介 浙教版信息技术九年级上第十课时教学设计课题 枚举算法单元第二单元学科信息技术年级九年级学习目标信息意识:了解枚举算法的概念;理解枚举算法解决问题的基本思路计算思维:初步掌握枚举算法的程序设计方法数字化学习与创新:结合生活实例,让学生体会到程序算法在生活中的运用重点结合生活实例,让学生体会到程序算法在生活中的运用难点枚举算法的程序实现教学过程教学环节教师活动学生活动设计意图导入新课小琳是初三五班的班长,周五下午班上要在阶梯教室举行主题班会活动,小琳到总务处借来钥匙,但是忘记了那一把才是阶梯教室的钥匙,小琳该怎么做才能打开阶梯教室的门呢?一把一把的试 以钥匙开门为例让学生容易理解枚举算法的内涵讲授新课(1)讲授:其实,像这种一把一把钥匙尝试找出开门钥匙的方法是我们计算机中常见的一种算法——枚举算法,也是我们今天要学习的内容,推而广之,什么是枚举算法呢?现实生活中有一类问题可以采用搜索的方法解决,如密码破解、寻找素数等,在搜索的过程中,列举所有可能的结果,并逐一判断,排除其中不符合要求的结果,这种方法称为枚举算法,也称为“穷举法”主要过程分两步:第一步——列举,列举出该问题所有可能的解,(所有可能,以免遗漏)第二步:检验——根据条件对各个解逐个检验(选择出符合条件的,排除不符合条件的)(2)游戏:请同学们共同完成数数字逢8喊过的游戏我们用程序把所有喊过的数找出来,如何实现呢,会使用到我们前面学习的结构吗?分析:解决问题的过程通过列举——检验完成对问题的解决(4)枚举算法的程序实例演示程序实例:一百个铜钱买了一百只鸡,其中公鸡一只5钱,母鸡一只3钱,小鸡一钱3只,问一百只鸡中公鸡、母鸡、小鸡各多少只?任务分析: 分析问题可知,可能买到的公鸡数从1到20,母鸡数从1到33,小鸡数从1到100。设公鸡数为i,母鸡数为j,小鸡数为k,可列出下列方程组:5*i+3*j+k/3=100 百钱的计算i+j+k=100 百鸡的计算(鸡的数量)该问题可转化为对i,j,k各种不同的组合进行搜索,从而找到鸡和钱的总数均为100的组合。在计算机程序中,可认利用二重循环枚举解决这类问题。多重循环:在一个循环体内又包含了循环结构,称为多重循环或循环嵌套,如二重循环的结构为:For i=初值 To 终值 For j=初值 To 终值 循环体 Next jNext i界面设计:1)新建一个”标准的EXE”工程,在窗体中添加一个标签控件、一个按钮控件。2)参考下标设置各个对象的属性,程序界面效果如图所示:编写代码调试运行课后练习:让学生先尝试自己编写程序,教师指导或先学会的帮助后学会的来解决问题,然后教师讲解。认识枚举算法的概念了解枚举算法解决问题的步骤做游戏,逢8喊过思考如何实现找出“过”想到使用分支结构来解决问题聆听观看程序实例跟随老师共同来解决问题通过概念和案例理解多重循环从钥匙的实际例子出发,从特例到泛例认识和理解枚举算法对枚举算法解决问题的过程有初步的认识。通过游戏,增加学生的参与感,提升学生的学习兴趣以实际问题切入,转化为计算机程序编写,练习让学生将实际问题转化为编程问题的能力通过案例——总结的形式,让学生对枚举算法有更深的认识激发学生产生解决这一数学问题的兴趣通过讲解、演示、实操的形式帮助学生克服难点课堂小结一、认识枚举算法二、理解多重循环三、枚举算法的程序设计板书一、认识枚举算法 现实生活中有一类问题可以采用搜索的方法解决,如密码破解、寻找素数等,在搜索的过程中,列举所有可能的结果,并逐一判断,排除其中不符合要求的结果,这种方法称为枚举算法,也称为“穷举法”。方法:二、多重循环在一个循环体内又包含了循环结构,称为多重循环或循环嵌套,如二重循环的结构为:For i=初值 To 终值 For j=初值 To 终值 循环体 Next jNext i三、枚举算法的程序实例:百钱买百鸡课件18张PPT。第十课枚举算法浙教版 信息技术 九年级上新知导入 小琳是初三五班的班长,周五下午班上要在阶梯教室举行主题班会活动,小琳到总务处借来钥匙,但是忘记了那一把才是阶梯教室的钥匙,小琳该怎么做才能打开阶梯教室的门呢?找钥匙新知讲解一、认识枚举算法 现实生活中有一类问题可以采用搜索的方法解决,如密码破解、寻找素数等,在搜索的过程中,列举所有可能的结果,并逐一判断,排除其中不符合要求的结果,这种方法称为枚举算法,也称为“穷举法”。 做游戏:请同学们从第一个组第一个同学从1开始数数,每人数一个数,凡是数8的倍数就喊“过”,最后一个同学数完后又回到第一个同学接着数,直到数到100停止。课堂练习 请用程序找出所有喊“过”的数,并画出流程图。用变量k表示要列举的自然数分析:总 结枚举算法——1、枚举算法的结构特征:循环结构中的嵌套分支结构 2、枚举算法的设计步骤:确定列举范围;明确检验条件 3、适用于解的个数不太多的情况拓展提高二、枚举算法的程序实例 《张丘建算经》中提出了一个“百钱买百鸡”问题:一百个铜钱买了一百只鸡,其中公鸡一只5钱,母鸡一只3钱,小鸡一钱3只,问一百只鸡中公鸡、母鸡、小鸡各多少只?打开“百钱买百鸡问题.exe”任务分析 分析问题可知,可能买到的公鸡数从1到20,母鸡数从1到33,小鸡数从1到100。设公鸡数为i,母鸡数为j,小鸡数为k,可列出下列方程组: 该问题可转化为对i,j,k各种不同的组合进行搜索,从而找到鸡和钱的总数均为100的组合。在计算机程序中,可认利用二重循环枚举解决这类问题。知识链接多重循环:在一个循环体内又包含了循环结构,称为多重循环或循环嵌套,如二重循环的结构为:For i=初值 To 终值 For j=初值 To 终值 循环体 Next jNext i多重循环的循环次数=每一重循环次数的乘积界面设计(1)新建一个”标准的EXE”工程,在窗体中添加一个标签控件、一个按钮控件。(2)参考下标设置各个对象的属性,程序界面效果如图所示:编写代码Dim i As Integer, j As Integer, k As Integer, n As n = 0For i = 1 To 20 For j = 1 To 33 k = 100 - i - j If 5 * i + 3 * j + k / 3 = 100 Then '是否满足百钱和百鸡的条件 n = n + 1 Print "第"; n; "个解是:"; i; "只公鸡"; j; "只母鸡"; k; "只小鸡 End If Next jNext iPrint语句可以直接在窗体上输出表达式的值。调试运行 调试并运行程序,单击“求解”按钮,观察运行结构,如提示错误则检查程序的错误,在修改调试。课堂总结二、理解多重循环练 习一、用VB程序实现:将一张100元钱兑换成零钱(5元、10元、20元中的任意多个面值),计算有多少种换法。二、用VB程序实现:如果一个三维数等于它的每个数字立方的和,则此数称为“水仙花数”,如153=1^3+5^3+3^3,故153是水仙花数。求100—999之间的全部水仙花数。Dim i As Integer, j As Integer, k As Integer For i = 1 To 20 For j = 1 To 10 For k= 1 To 5 If 5 * i + 10 * j + 20*k= 100 Then Print i,j,k End If Next k Next j Next i板书设计一、认识枚举算法 现实生活中有一类问题可以采用搜索的方法解决,如密码破解、寻找素数等,在搜索的过程中,列举所有可能的结果,并逐一判断,排除其中不符合要求的结果,这种方法称为枚举算法,也称为“穷举法”。方法:二、多重循环在一个循环体内又包含了循环结构,称为多重循环或循环嵌套,如二重循环的结构为:For i=初值 To 终值 For j=初值 To 终值 循环体 Next jNext i三、枚举算法的程序实例:百钱买百鸡作业布置 程序实现: 一张单据上有一个5位数的编码,其千位数和百位数已经变得模糊不清,但是直到这个5位数是57或67的倍数,现在要设计一个算法,输出所有满足这些条件的5位数,并统计这样的数的个数。谢谢21世纪教育网(www.21cnjy.com) 中小学教育资源网站 有大把高质量资料?一线教师?一线教研员?欢迎加入21世纪教育网教师合作团队!!月薪过万不是梦!!详情请看:https://www.21cnjy.com/help/help_extract.php 展开更多...... 收起↑ 资源列表 第十课枚举算法 教案.doc 第十课枚举算法 课件.ppt