国际象棋棋盘上的麦粒任务单

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《国际象棋棋盘上的麦粒》信息生态课堂导学案

一.设标与导入

学习目标:

(1)能写出For循环语句结构的格式。

(2)能结合流程图,对For循环语句中的某些空格进行填空。

(3)可以根据任务的要求,设计出VB程序窗体的结构,能结合老师提供的程序代码进行补充修改、调试运行并生成一个完整的

程序可执行文件。

二.问题与呈现

任务描述

在印度有一个古老的传说:舍

罕王打算奖赏国际象棋的发明

人——宰相西萨·班·达依尔。

国王问他想要什么。他对国王

说:陛下,请您在这张棋盘

(图1)的第1个小格里,

赏给我1粒麦子,在第2个小

格里给2粒,第3小格给4粒,

以后每一小格都比前一小格加

1倍。请您像这样摆满棋盘上所有64格的麦粒,都赏给您的仆人吧!国王觉得这个要求太容易满足了就命令给他这些麦粒。当人们把一袋一袋的麦子搬来开始计数时,国王才发现:就是把全印度甚至全世界的麦粒全拿来,也满足不了那位宰相的要求。

那么,宰相要求得到的麦粒到底有多少呢?尝试设计一个程序来计算。

三、归类与分析

(1)问题分析

本问题可用累加的方法来求解,即最后得到的麦粒数由每一格赏赐的麦粒数相加得到,而且相邻的格子要求得到赏赐的麦粒数也是有一定规律的,即后一格是前一覆盖麦粒数的2倍。若用i表示当前所处的格子,p 表示此格子中应该赏赐的麦粒数,s表示累加得到的麦粒数,分析过程见表1。

表1

由表1的分析可得i= ,p= ,s= 。

(2)设计算法。

根据上面的分析,可画出算法流程图如下:

(3)程序实现。

①将下列根据上面算法编写的代码填写完整。Private Sub Command1_Click( )

Dim n As Integer, i As Integer, p As Double, s As Double n=Val(Text1.Text)

s=0

p=1

For i= To n

s=

p=

Next i

Text2.Text=Str(s)

End Sub

②新建工程,创建窗体。界面设计参照图2,属性设置参照表2。

表2 窗体中主要控件属性设置

③将上面完成的代码段输入到计算按钮的代码窗口中。

④调试运行程序。

四.反馈与评价

学生上交作业,点评作业完成情况。

五.总结与提升

提高题:假如每颗麦粒的重量为0.2克,每人每天消耗0.5千克,算一算上面棋盘上的麦粒能供全球60亿人吃多少年?(先写出VB表达式再计算)

相关文档
最新文档