1 / 5
文档名称:

实践七国际象棋棋盘上的麦粒.docx

格式:docx   大小:47KB   页数:5页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

实践七国际象棋棋盘上的麦粒.docx

上传人:cby201601 2021/8/4 文件大小:47 KB

下载得到文件列表

实践七国际象棋棋盘上的麦粒.docx

文档介绍

文档介绍:: .
实践七 国际象棋棋盘上的麦粒
1、实践目标
( 1) 理解循环语句的作用, 能根据实际情况正确使用 For 语句与 Do 语句。
( 2)学会使用 VB 循环控制结构编写程序,实现简单的算法。
2、任务描述
在印度有一个古老的传说:舍
罕王打算奖赏国际象棋的发明
人 宰相西萨・班・达依尔。
国王问他想要什么。他对国王
说:陛下,请您在这张棋盘
(图 7-1)的第 1 个小格里,
赏给我 1 粒麦子,在第 2 个小
格里给 2 粒,第 3 小格给 4 粒,
以后每一小格都比前一小格加
1 倍。请您像这样摆满棋盘上所有 64 格的麦粒,都赏给您的仆人吧!国
王觉得这个要求太容易满足了就命令给他这些麦粒。 当人们把一袋一袋的
麦子搬来开始计数时, 国王才发现: 就是把全印度甚至全世界的麦粒全拿
来,也满足不了那位宰相的要求。
那么,宰相要求得到的麦粒到底有多少呢?尝试设计一个程序来计
算。
3、操作提示
( 1)问题分析
本问题可用累加的方法来求解, 即最后得到的麦粒数由每一格赏赐的
麦粒数相加得到, 而且相邻的格子要求得到赏赐的麦粒数也是有一定规律
的,即后一格是前一覆盖麦粒数的 2 倍。若用 1 表示当前所处的格子, p
表示此格子中应该赏赐的麦粒数,s表示累加得到的麦粒数,分析过程见
表7-1
表7-1
格⑴
每格存放麦粒数(p)
累加和(s)
1
1
1
2
2
1+2
3
4
1+2+4
4
8
1+2+4+8
5
16
1+2+4+8+16
6
32
1+2+4+8+16+32
64
由表 7-1的分析可得 i=,p=,s=
(2)设计算法。
根据上面的分析,可画出算法流程图如下:
开始
(3)程序实现。
①将下列根据上面算法编写的代码填写完整。
Private Sub Commandl Click()
Dim n As Integer, i As Integer, p As Double, s As Double
n=Val()
s=0
p=1
For i=Ton
s=
p=
Next 1
=Str(s)
End Sub
②新建工程,创建窗体。界面设计参照图 7-2,属性设置参照表7-2o
表7-2窗体中主要控件属性设置
对象
属性名称
属性值
Form1
Caption
r国际象棋棋盘上的麦粒
Label1
Caption
请输入当前所处的棋盘格