资源简介 棋盘中的麦粒 循环结构(2) 活动任务 在印度有一个古老的传说: 舍罕王打算奖赏国际象棋的发明人——宰相西萨?班?达依尔。舍罕王问他想要什么?他对国王说:“陛下,请您按照棋盘的格子赏赐我一点麦子吧!第1个小格,赏给我1粒麦子,在第2个小格赏给2粒,第3个小格赏给4粒,以后每一小格赏的麦粒数都比前一小格增加一倍。请您把棋盘上所有64格按照这样方法得到的麦粒,都赏给您的仆人吧! ”舍罕王觉得这要求太容易满足了,就答应赏给他这些麦粒。当把一袋袋的麦子搬来开始计数时,舍罕王才发现:就是把全印度甚至全世界的麦粒全拿来,也满足不了宰相的要求。 那么,宰相西萨?班?达依尔要求得到的麦粒到底有多少呢?设计一个程序帮这位国王算一算。程序参考界面如图2 - 31所示。 图2-31 程序界面示例 我的问题 ? 分析问题题目从哪个角度入手? ? 怎样找到题目的规律? ? 如何确定循环结构的各项参数? 活动建议 1.找规律 通过分析题目,可以看出,从第2格开始,麦粒数都是2的倍数,而且每增加一格,麦粒数就是上一格的2倍,即: 从变化规律可以看出,第n格的麦粒数,就是2 粒。我们要计算 的是所有格于中麦粒数,即求 的和。如果从左向右,一项项相加,也就是反复计算: 麦粒数=麦粒数+当前格里的麦粒数 2.计算方法 计算方法可以用图2-32所示的流程图直观地表示。 图2-32 求麦粒数的算法流程图 准备知识 1.“求次方”命令 “求次方”语句的格式、功能及参数含义 格式:求次方(欲求次方数值,次方数) 功能:返回指定数值的指定次方。 参数含义:欲求次方数值指定欲求其某次方的数值;次方 数指定对欲求次方数值的运算指数。 举例:语句“求次方(3, 4) ”计算的是34,其值为81。 2.数据类型 每个变量除了有变量名外,还必须有确定的数据类型,即变量能 够存储的数据的种类。易语言中常用变量类型如表2 -10所示。 标2-10 常用变量类型及其说明 操作界面 一、界面设计 1.选择组件创建对象 程序的提示信息和最终麦粒数的显示可以使用标签对象;执行累加操作, 可以使用按钮。程序参考界面如图2-33所示。 图2-33 麦粒总数计算界面设计示例 2.设置属性 图2-33中对象的属性值设置可参考表2-11。 表2-11 属性值设置表 谢 谢 展开更多...... 收起↑ 资源预览