国际象棋棋盘上的麦粒.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
国际象棋棋盘上的麦粒

国际象棋棋盘上的麦粒 1、实践目标 (1)理解循环语句的作用,能根据实际情况正确使用For语句。 (2)学会使用VB循环控制结构编写程序,实现简单的算法。 2、任务描述 在印度有一个古老的传说:舍 罕王打算奖赏国际象棋的发明 人——宰相西萨·班·达依尔。 国王问他想要什么。他对国王 说:陛下,请您在这张棋盘 (图7-1)的第1个小格里, 赏给我1粒麦子,在第2个小 格里给2粒,第3小格给4粒, 以后每一小格都比前一小格加 1倍。请您像这样摆满棋盘上所有64格的麦粒,都赏给您的仆人吧!国王觉得这个要求太容易满足了就命令给他这些麦粒。当人们把一袋一袋的麦子搬来开始计数时,国王才发现:就是把全印度甚至全世界的麦粒全拿来,也满足不了那位宰相的要求。 那么,宰相要求得到的麦粒到底有多少呢?尝试设计一个程序来计算。 3、操作提示 (1)问题分析 本问题可用累加的方法来求解,即最后得到的麦粒数由每一格赏赐的麦粒数相加得到,而且相邻的格子要求得到赏赐的麦粒数也是有一定规律的,即后一格是前一覆盖麦粒数的2倍。若用i表示当前所处的格子,p表示此格子中应该赏赐的麦粒数,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)设计算法。 根据上面的分析,可画出算法流程图如下: (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 ②新建工程,创建窗体。界面设计参照图7-2,属性设置参照表7-2。 表7-2 窗体中主要控件属性设置 对象 属性名称 属性值 Form1 Caption 国际象棋棋盘上的麦粒 Label1 Caption 请输入当前所处的棋盘格数(n=) Label2 Caption 赏赐的麦粒总数(s=) Text1 Text (空白) Back Color H00FFC0C0(蓝色) Text2 Text (空白) Back Color H00FFC0C0(蓝色) Command1 Caption 计算 ③将上面完成的代码段输入到计算按钮的代码窗口中。 ④调试运行程序。 (4)假如每颗麦粒的重量为0.2克,每人每天消耗0.5千克,算一算上面棋盘上的麦粒能供全球60亿人吃多少年?(先写出VB表达式再计算) 2 开始 输入棋盘上的格子数n 累加得到的麦粒数置初值s←0 当前格子的麦粒数置初值p←1 置初值:i←1 i≤n? s←s+p p←p*2 i←i+1 Y 输出麦粒数s 结束 N

文档评论(0)

henan + 关注
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档