青玉案·元夕的寓意:棋盘上的麦粒

来源:百度文库 编辑:九乡新闻网 时间:2024/04/28 09:27:15

棋盘上的麦粒

[日期:2004-09-10] 来源:  作者:郑旭 南京师范大学教育技术系 [字体:大 中 小]

本节课的目的上先让学生观摩解决“棋盘上的麦粒”的算法程序演示,再让学生模仿编写程序,进行自主探究,体验用计算机解决问题的实践过程。教师既要讲清楚程序设计的步骤,让学生从一开始就养成良好的程序编写的习惯,又要不断激发学生的兴趣,提高学习积极性。因此本案例选择了一道趣味数学题,算法简单,学生易于理解。这样学生就可以把主要精力放在程序设计的学习上。另外课本上用的是“韩信点兵”的例子,教师可以根据需要自由选择。

【教学过程】

棋盘上的麦粒(建议1-2课时)

 

活动过程

教师活动

学生活动

设计意图

创设情境

使用液晶投影仪或其他设备将“棋盘上的麦粒”的故事呈现给学生,提示学生思考。

阅读材料,思考问题。

利用有趣的故事创设情境。

给出任务

(语言导入)这个问题的答案虽然很庞大,但是它的算法却非常简单。前面我们已经学习了三种描述算法的方法,下面就请同学们分析这个问题,列出它的数学表达式,并用流程图来描述其算法。

分析问题,列出表达式,画出流程图。

让学生在新的问题中利用前一节所学的内容,有助于巩固前面所学知识。

算法分析与描述

点评一两个学生的流程图,给出教师自己的分析,供学生参考。

思路以及表达式:

第1格:1粒=20

第2格:2粒=21

第3格:4粒=22

……

第64格:263粒=264-1

总粒数:1+2+4+……+263

(流程图见附录2)

与教师给出的流程图进行比较。

及时反馈有利于学生掌握知识。

认识Visual Basic开发工具

(语言导入)在程序设计之前我们先来认识VB开发工具。

利用计算机和液晶投影仪向学生展示如何启动Visual Basic,建立标准EXE工程。向学生简单介绍窗体、工具箱。

仔细看老师操作,认真听教师讲解。

这看似简单,但是要清楚的介绍给初学者。

设置界面

(边讲边操作)单击工具箱中的“CommandButton”按钮,在默认窗体“Form1”上画一个按钮“Command1”。从属性窗口中将它的“Caption”属性改为“棋盘上的麦粒”。

仔细看老师操作,认真听教师讲解,记录属性修改的方法。

对于初学者来说,界面的设置可以简单一些。

代码编写

(边将边操作)双击窗体“Form1”中“棋盘上的麦粒”按钮,打开代码窗口,在“Private Sub Command1_Click()”和“End”——“Sub”之间输入以下代码, 对代码进行简要的说明

Dim a as integer, b as long, s as  long

For a=0 to 63

b=2^a

s=s+b

Next a

Print s

对代码进行简要的说明

仔细看老师操作,认真听教师讲解并记录代码。

代码编写是程序设计的重要部分,这段代码虽然不长,但是对于初学者来说,还是有难度的,教师要对其进行解释。

运行程序

(边将边操作)从“运行”菜单中单击“启动”命令(F5)运行程序。程序运行点击窗体中“棋盘上的麦粒”按钮,就可以看到棋盘上到底有多少麦粒了。

仔细看老师操作,认真听教师讲解。

运行程序比较简单,学生容易掌握,教师不必花费过多时间。

学生操作

小结一下刚才的步骤,让学生按此操作。做好随时帮助学生解决问题的准备。

模仿教师刚才的操作,上机实践。

这一步至关重要,既是检验学生刚才学习的情况,又是学生初试身手、体验编程的重要开始。

小结

告知学生完整的程序设计不但包括上面所讲的,还包括调试程序和保存程序,这些将在后面的第二章、第五章重点讲授。

记录程序设计的步骤。

这既是对本节课的总结,也是让学生养成良好程序设计习惯的开始。

 

 

张义兵评析:

 

本案例通过一个趣味数学题的程序实现,介绍了程序设计的步骤。本案例有效的衔接了前面一节的内容,让学生通过分析此问题来巩固前面所学知识。本案例的重点放在程序设计步骤的介绍上,让学生对此有个清晰的认识,准确的把握。接着让学生模仿编写该程序,教师从旁有针对性的指导,有利于学生掌握知识点,养成良好的编程习惯。

 

还可以如何讲:

 

本案例分为9个部分,教师可以根据自身实际自由调配。比如讲授程序设计步骤与学生练习可以穿插起来,这样学生可能更容易掌握一些。最后再对程序设计的步骤进行小结。

 

附录:

 

1、棋盘上麦粒的故事梗概

 

在印度有一个古老的传说:舍罕王打算奖赏国际象棋的发明人——宰相西萨·班·达依尔。国王问他想要什么,他对国王说:“陛下,请您在这张棋盘的第1个小格里,赏给我1粒麦子,在第2个小格里给2粒,第3小格给4粒,以后每一小格都比前一小格加一倍。请您把这样摆满棋盘上所有的64格的麦粒,都赏给您的仆人吧!”国王觉得这要求太容易满足了,就命令给他这些麦粒。当人们把一袋一袋的麦子搬来开始计数时,国王才发现:就是把全印度甚至全世界的麦粒全拿来,也满足不了那位宰相的要求。那么,宰相要求得到的麦粒到底有多少呢?

 

2、流程图思路以及表达式:

 

第1格:1粒=20

第2格:2粒=21

第3格:4粒=22

……

第64格:263粒=264-1

总粒数:1+2+4+……+263

 

3、流程图

 

 

4程序代码

Private Sub Command1_Click()

Dim a as integer, b as long, s as  long

For a=0 to 63

b=2^a

s=s+b

Next a

Print s

End sub