1、棋盘上的米粒,传说,古印度有一个人发明了一种游戏棋,棋盘共64格,玩起来十分新奇、有趣。他把这种棋献给了国王。国王玩得十分开心,便下令赏赐献棋人。臣下问献棋人想要什么。献棋人说:“他只需要粮食,要求大王给点粮食便心满意足了。“问他需要多少粮食,他说只要求在棋盘的第一个格子里放一粒米,在第二个格子放两粒米,第三个格子里放四粒米?总之,后面格子里的米都比它前一格增大一倍,把64格都放满了就行。国王一听,满口答应。大臣们也都认为:这点米,算得了什么,便领献棋人去领米。岂料,到后来把所有仓库里的存米都付出了,还是不够。你知道这是为什么吗?,算法分析,解:米粒数根据制棋人的要求。可列式为:1212223
2、2425264-118446744073709551615(粒),如果造一个仓库来存放这些米,仓库应是多大呢? 有人算过,若仓库高4米,宽10米,那么长应是地球到太阳距离的2倍。这样的长方体仓库在地球上是容不下的,当然这只是个假设。传说,当时计算米粒数宫廷里就整整算了三天!这是中学数学中“等比级数求和”问题。在当时只是凭手工硬乘出来的。国库中当然不可能有那么多的粮食。,2.1可视化编程的一般步骤,山东菏泽一中 付林,编程解决问题的过程,1.分析问题 本题是个有限范围的数值计算问题, 棋盘每个格中的米的个数为2(N-1)个。 循环相加直到64个格子 20+21+22+263,2、算法设计,自然语
3、言 流程图 伪代码,棋盘上的米粒流程图,提示:可设变量a让它从0到63设变量b让存放每个格的米数设变量s为前个格的米的总和,3、程序设计,VB程序界面设计 编写程序代码,程序设计之界面设计,程序代码,Private Sub command1_Click() Dim a As Integer, b As Double, s As double For a = 0 To 63 b = 2 a s = s + b Next a txtshow.Text = s End Sub,4、运行程序并保存,运行程序 “启用”按钮 的使用,“结束”按钮 的使用,一定要停止程序运行后,才能修改程序。,保存程序 保存“工程”,扩展名为vbp,一个工程文件中往往包含多个不同类型的文件,如窗体文件和代码文件等。,小结:可视化程序的设计步骤,1、分析问题 2、分析算法设计算法 3、窗口界面设计 4、编写代码 5、调试运行 6、保存,