1 / 5
文档名称:

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

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

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

分享

预览

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

上传人:zhaojr1943 2022/2/12 文件大小:177 KB

下载得到文件列表

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

相关文档

文档介绍

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