資源描述:
《國際象棋棋盤上麥?!酚蓵T上傳分享,免費在線閱讀,更多相關內容在行業(yè)資料-天天文庫。
1、國際象棋棋盤上的麥粒1、實踐目標(1)理解循環(huán)語句的作用,能根據實際情況正確使用For語句。(2)學會使用VB循環(huán)控制結構編寫程序,實現(xiàn)簡單的算法。2、任務描述在印度有一個古老的傳說:舍罕王打算獎賞國際象棋的發(fā)明人——宰相西薩·班·達依爾。國王問他想要什么。他對國王說:陛下,請您在這張棋盤(圖7-1)的第1個小格里,賞給我1粒麥子,在第2個小格里給2粒,第3小格給4粒,以后每一小格都比前一小格加1倍。請您像這樣擺滿棋盤上所有64格的麥粒,都賞給您的仆人吧!國王覺得這個要求太容易滿足了就命令給他這些麥粒。當人們把一袋一袋的麥子搬來開始計數(shù)時,國王才發(fā)現(xiàn):就是
2、把全印度甚至全世界的麥粒全拿來,也滿足不了那位宰相的要求。那么,宰相要求得到的麥粒到底有多少呢?嘗試設計一個程序來計算。3、操作提示(1)問題分析本問題可用累加的方法來求解,即最后得到的麥粒數(shù)由每一格賞賜的麥粒數(shù)相加得到,而且相鄰的格子要求得到賞賜的麥粒數(shù)也是有一定規(guī)律的,即后一格是前一覆蓋麥粒數(shù)的2倍。若用i表示當前所處的格子,p表示此格子中應該賞賜的麥粒數(shù),s表示累加得到的麥粒數(shù),分析過程見表7-1。表7-14格(i)每格存放麥粒數(shù)(p)累加和(s)111221+2341+2+4481+2+4+85161+2+4+8+166321+2+4+8+16+3
3、2………………64由表7-1的分析可得i=,p=,s=。(2)設計算法。根據上面的分析,可畫出算法流程圖如下:4NY開始輸入棋盤上的格子數(shù)n累加得到的麥粒數(shù)置初值s←0當前格子的麥粒數(shù)置初值p←1置初值:i←1i≤n?s←s+pp←p*2i←i+1輸出麥粒數(shù)s結束(3)程序實現(xiàn)。①將下列根據上面算法編寫的代碼填寫完整。PrivateSubCommand1_Click()DimnAsInteger,iAsInteger,pAsDouble,sAsDoublen=Val(Text1.Text)s=0p=1Fori=Tons=p=Nexti4Text2.Text
4、=Str(s)EndSub②新建工程,創(chuàng)建窗體。界面設計參照圖7-2,屬性設置參照表7-2。表7-2窗體中主要控件屬性設置對象屬性名稱屬性值Form1Caption國際象棋棋盤上的麥粒Label1Caption請輸入當前所處的棋盤格數(shù)(n=)Label2Caption賞賜的麥??倲?shù)(s=)Text1Text(空白)BackColor&H00FFC0C0&(藍色)Text2Text(空白)BackColor&H00FFC0C0&(藍色)Command1Caption計算③將上面完成的代碼段輸入到計算按鈕的代碼窗口中。④調試運行程序。(4)假如每顆麥粒的重量為
5、0.2克,每人每天消耗0.5千克,算一算上面棋盤上的麥粒能供全球60億人吃多少年?(先寫出VB表達式再計算)4