利用圖形計算器計算猜數字游戲_第1頁
利用圖形計算器計算猜數字游戲_第2頁
利用圖形計算器計算猜數字游戲_第3頁
利用圖形計算器計算猜數字游戲_第4頁
利用圖形計算器計算猜數字游戲_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、利用圖形計算器計算猜數字游戲猜數字(又稱 Bulls and Cows )是一種20世紀中期的益智類小游戲。一般由兩個人玩,也可以由一個人和電腦玩,在紙上、在網上都可以玩。這種游戲規(guī)則簡單,但可以考驗人的嚴謹和耐心。 所在省市: 天津市 作者姓名: 李元亨 摘要:本文選擇“猜數字游戲”,通過數學分析完成其優(yōu)化策略的生成。作者在進行猜數字游戲的同時,突發(fā)奇想,是否可以把猜數字游戲利用圖形計算器的編程功能推廣到圖形計算器之中并且求解出其優(yōu)化策略。關鍵詞:圖形計算器 最優(yōu)策略 編程 猜數字游戲一編寫猜數字程序(一)簡單背景介紹 猜數字(又稱 Bulls and Cows )是一種古老的益智類游戲。通

2、過多次對數字的猜測和對數字位置的提示,完成數字。這種游戲規(guī)則簡單,但可以考驗人的嚴謹和耐心。游戲規(guī)則如下:一般兩個人玩,一方出數字,一方猜。出數字的人要想好一個沒有重復數字的4位數,不能讓猜得人知道。猜的人就可以開始猜。每猜一個數字,出數者就要根據這個數字給出幾A幾B,其中A前面的數字表示位置正確的數的個數,而B前的數字表示數字正確而位置不對的數的個數,接著猜的人再根據出題者的幾A幾B繼續(xù)猜,直到猜中為止。 (二)編程計劃1) 首先用隨機變量生成一個四位數(要求每一位都不同)2) 將此四位數各位分開并存儲在不同的變量中3) 要求用戶輸入一個四位均不相同的四位數4) 首先對比各位中有無相同的數字

3、,并統(tǒng)計其個數5) 其次篩選其中位置錯誤而數字正確的個數6) 輸出結果,等待用戶輸入7) 循環(huán)直至輸入結果正確為止(3) 操作過程我們所使用的圖形計算器的型號為Casio CG-20計算器(為便于理解,將操作語言調至中文)首先打開圖形計算器,進入程序并新建文件(注意cg20的函數不能手動輸入,只能通過按shift+vars進入)步驟一:用隨機變量生成一個四位數(要求每一位都不同)程序如下此時的K輸出只用于測試,請務必刪除(否則答案自動輸出了)步驟二:分離各位數字我們可以發(fā)現,在計算四位數中是否有重復數字時,已分離出四位其中:千位為A、百位為B、十位為C、個位為D步驟三:要求用戶輸入一個四位均不

4、相同的四位數(必須判斷是否為無重復、有意義的四位數),并記錄輸入次數1) 輸入數字2)分離各位數字其中:千位為E、百位為F、十位為G、個位為H3) 判斷是否符合要求 4) 若不符合,繼續(xù)循環(huán),等待輸入步驟四:核心計算1) 建立統(tǒng)計變量Y(加在輸入循環(huán)體之前)2) 判斷數字和位置均符合的個數(統(tǒng)計變量W)將相同的值賦值為0.1為了將來判斷數字相同而位置不對的個數3) 判斷數字對而位置不對的(統(tǒng)計變量X)4) 輸出結果5) 判斷是否正確若是,退出循環(huán);反之,繼續(xù)直到出現正確結果或錯誤大于15次加入循環(huán)嵌套與標識變量下面是判斷語句6) 輸出嘗試次數步驟五:程序測試程序原代碼:ProgramMode:

5、RUNClrTextDoRanInt#(0,9999)-SS-KInt (S/1000)-AS-1000*A-SInt (S/100)-BS-100*B-SInt (S/10)-CS-10*C-DIf B=A Or B=C Or B=D Or A=C Or A=D Or C=DThen RanInt#(0,9999)-SElse BreakLpWhile 1KDisps0-YDo1-VDoPlease input a number?-NInt (N/1000)-EN-E*1000-NInt (N/100)-FN-100*F-NInt (N/10)-GN-10*G-H0-ZIf E=F Or E

6、=G Or E=H Or F=G Or F=H Or G=H Or E9 Or Int HHThen Sorry!Please retryDisps1-ZElse BreakIfEndLpWhile Z=10-WIf A=EThen W+1-W0.1-EIfEndIf B=FThen W+1-W0.1-FIfEndIf C=GThen W+1-W0.1-GIfEndIf D=HThen W+1-W0.1-HIfEnd0-XIf E=A Or E=B Or E=C Or E=DThen X+1-XIfEndIf F=A Or F=B Or F=C Or F=DThen X+1-XIfEndIf

7、G=A Or G=B Or G=C Or G=DThen X+1-XIfEndIf H=A Or H=B Or H=C Or H=DThen X+1-XIfEndNumber & PositionDispsWDispsOnly NumberDispsXDispsY+1-YIf W=4Then CongratulationsDispsBreakIfEndIf Y15Then Sorry,you have tried so many times-the answer isDispsKDispsBreakIfEndLpWhile 0=0Times you have triedDispsYDisps2

8、 統(tǒng)計分析猜數字游戲的最佳算法(1) 查閱資料我們有以下幾種策略可供選擇,包括簡單策略每次都猜可能答案中的第一個、啟發(fā)式策略通過計算可能集縮小的大小分為最壞情況指標、平均情況指標、預期步數指標。(來源于百度百科) (2) 利用圖形計算器統(tǒng)計學分析經過多次練習,作者可以熟練掌握幾種常見的策略,故利用Casio CG-20的統(tǒng)計功能選擇幾組最擅長的方法來統(tǒng)計、評估每種算法的優(yōu)劣,統(tǒng)計指標是簡單的統(tǒng)計學數據,包括最大值、最小值、中位數、眾數、平均數和方差來綜合統(tǒng)計每一種算法的好壞(實驗數據中有一部分來源于作者親身試驗并且舍棄極端值)主要統(tǒng)計以下幾種算法:1) 簡單策略2) 平均情況指標策略3) 最壞

9、情況指標策略(3) 實際操作實際操作中有大量的數據需要處理、篩選,經過多次認真篩選,得到以下三組實驗數據。1)簡單策略實驗次數123456789實驗結果5476653852) 平均情況指標策略(后三組數據為程序計算)實驗次數123456789實驗結果4554645363) 最壞情況指標策略(全部為程序計算)實驗次數123456789實驗結果5766456531)首先打開圖形計算器,進入統(tǒng)計2)輸入數據并計算簡單策略最大值最小值中位數眾數平均數方差83555.44285平均情況指標策略最大值最小值中位數眾數平均數方差6354,54.67204最壞情況指標策略最大值最小值中位數眾數平均數方差7355,65.22253(四)數據分析顯然,平均情況指標擁有最小的方差,即其穩(wěn)定性最好、其次是最壞情況指標、最后是簡單策略。平均情況指標同時擁有最小的平均數,即其試驗次數最少,不失是一種最有效算法;在眾數上的表現也略好于其他兩組,而統(tǒng)計數據中沒有體現的是其所需時間較長,大約是簡單策略的兩倍。而最壞情況指標,無論從時間、穩(wěn)定性、有效性都不太優(yōu)秀,不過根據軟件統(tǒng)計資

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論