加载中…
个人资料
Mr_Right-------
Mr_Right-------
  • 博客等级:
  • 博客积分:0
  • 博客访问:179
  • 关注人气:0
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

《枚举算法》教案

(2015-06-07 14:36:28)

《枚举算法》教案

 

一、教学内容

通过“百钱买百鸡”的问题的解决,理解枚举算法的基本思路,初步掌握枚举算法的程序设计方案。

二、教学目标

1.知识与技能:枚举算法的程序设计方法。

2.过程与方法:培养学生分析问题,解决问题的方法和技巧。

3.情感态度与价值观:通过问题的解决,培养学生独立思考的精神并激发学生对知识探究的兴趣。

三、教学重点与难点

1.教学重点:理解枚举算法的基本思想,初步掌握枚举算法的程序设计方法。

2.教学难点:枚举算法的程序设计方法。

四、教学环境

多媒体教师一间,多媒体电脑,投影仪。

五、教学用时

1课时。

六、教学过程

1.教师导入:同学们,今天我们要来学习第十课《枚举算法》,在学习枚举算法之前呢,我们先一起来解决一个问题。

2.解决问题:一百个铜钱买了一百只鸡,其中公鸡一只5钱,母鸡一只3钱,小鸡一钱3只,问一百只鸡中公鸡、母鸡、小鸡各多少只?

分析问题可知,可能买到的公鸡数a120,母鸡数b133,小鸡数c1100(最多不超过100钱)。 设方程解决。

3引出枚举:一般的两元一次方程组呢是比较容易解的,这个呢是一个三元一次方程组,解决起来是不是就比较麻烦了?那么我们是不是可以这么想:这个问题可以转化为对c不同取值的组合进行搜索,最后找到一种组合,使他钱合为100钱。这种方法就是今天我们要讲的枚举算法,这种方法具体实现的过程就是在搜索的过程中,列举所有可能的结果,并逐一判断,排除其中不符合要求的结果。在计算机中呢,可以利用二重循环枚举解决这类问题。

像简单的密码破解啊、寻找素数等都可以用这种方法。

4.这里我们提到一个二重循环的概念,然后简单介绍二重循环和多重循环

5.下面我们一起来学习一下计算机是如何解决这个问题的

(一)打开VB软件

(二)界面设计:首先新建一个“标准的EXE”工程,在窗体中添加一个标签控件、一个按钮控件。根据表格设置对应的属性值

Form1 百钱买百鸡问题

Command1 求解

Label1一百个铜钱买了一百只鸡,其中公鸡一只5钱,母鸡一只3钱,小鸡一钱3只,问一百只鸡中公鸡、母鸡、小鸡各多少只?

(三)编写代码

Command1对象的Click事件中,编写核心程序代码。

 

Private Sub Command1_Click()

Dim As Integer

Dim As Integer

Dim As Integer   '定义公鸡、母鸡、小鸡的只数

For To 20

  For To 33

     100 b

       If 100 Then '是否满足百钱百鸡的条件

         Print a, b, c

         End If

         Next b

         Next a

 

End Sub

(同学们,Print语句可以直接在窗体上输出表达式的值)

 

(四)调试与运行

单机求解,观察巡行结果。

 

老师:通过前面的学习,相信同学们对枚举算法有了一定的掌握,那么接下来的时间就留给大家做到练习。

显示练习题。

 

6板书设计 

     枚举算法

  百钱买百鸡

二重循环

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有