freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

彩票算法研究與設(shè)計(jì)-畢業(yè)設(shè)計(jì)(編輯修改稿)

2024-12-14 00:57 本頁面
 

【文章內(nèi)容簡介】 據(jù)庫, DataSet 能記下列的初始值(我們可以用在 where 語句中以重新取得記錄),而且還對 DataRow 的狀態(tài)( insert、 update和 delete)進(jìn)行跟蹤。比如我們可以加一個 Row_Update 事件,來保持兩個列值的同步。 3. 可排序。 4. 可進(jìn)行數(shù)據(jù)過濾。 5. 可以方便地使用 XSD39。s 來定義強(qiáng)類型的 DataSet—— 使用定義好的 xml文件自動生成強(qiáng)類型 DataSet。這為自動生成代碼提供了很大的方便。 6. 計(jì)算字段和查找字段 —— 我們可以加入字段,這個字段的值依賴于其他字段(甚至來自別的 DataTable)的值。 7. 和 XML良好地結(jié)合。 DataSet 提供了內(nèi)建的 XML 序列化功能,還有 ReadXml()、 WriteXml()等方法,為我們提供了很大的方便。比如我們可以使用 WebService 返回 DataSet 14 到客戶端。 8. 關(guān)系。一個 DataSet 中可以有多個 DataTable,這些 DataTable 之間還可以建立關(guān)聯(lián),可以 Select Distinct 和 Group By。 9. 數(shù)據(jù)驗(yàn)證。 DataSet 本省就提供簡單的驗(yàn)證(比如類型、可空、最大長度和唯一性等),另外如上面第 2 點(diǎn)提到的,我們還可以以編程的方式對行和列的變化進(jìn)行捕捉(比如 Row_Update),從而可以對數(shù)據(jù)進(jìn)行校驗(yàn)。 10. 自動增長列。 在處理自動增長列方面也很方便。 11. 微軟的其它產(chǎn)品對 DataSet 提供了很好的支持,比如 InfoPath、BizTalk等。 12. 第三方 .Net 控件也對 DataSet 提供了很好的支持。 13. 利用 ExtendedProperty 可以方便地在運(yùn)行時給 DataSet 添加元數(shù)據(jù),并且非常易于使用。 14. DataSet 在 .Net 社區(qū)中是討論很多的技術(shù)之一,有廣泛的應(yīng)用。 15. 對于 DataSet 的性能問題,將在新版本中得到改善。而且是否性能就低還在于使用者的水平。 15 第 4 章 彩票算法的實(shí)現(xiàn) 根據(jù)上述對彩票玩法的分析,將玩法和規(guī)則進(jìn)行總結(jié)劃分,設(shè)計(jì)并創(chuàng)建以下窗口。 主窗口功能設(shè)計(jì) 主窗口 使用 一個菜單控件( MenuStrip) ,一個靜態(tài)文本控件( Label),一個按鈕控件( Button)組成。 菜單主要包含玩法選擇,規(guī)則限定,號碼分析,系統(tǒng)幫助四個主類組成。軟件啟動時,需指定具體玩法 ,默認(rèn)情況下加載的是雙色球玩法。 并且對玩法選擇菜單做快捷鍵綁定,方便用戶 在 玩法之間的 可以快速 的 切換 。 主窗口主要是產(chǎn)生按照指定規(guī)則進(jìn)行產(chǎn)生號碼,并且顯示結(jié)果的頁面,在通過大量的計(jì)算后,反饋給用戶信息的節(jié)目,而設(shè)計(jì)出福利彩票的背景,可以拉近與彩民之間的距離,有一種真正在打印一張彩票的感覺。 每組數(shù)據(jù)通過兩個“ \n”進(jìn)行換行處理,使頁面看起來不過于 擁擠,在視覺上,給用戶一個清新的設(shè)計(jì)。 并且,當(dāng)退出是給用戶一句良好的提示,一是讓軟件與用戶之間的互動產(chǎn)生友好感,二是增加用戶可能對軟件產(chǎn)品的推廣 概率。 16 圖 41 主窗口界面 圖 42 退出程序的友情提示 17 規(guī)則限定窗口設(shè)計(jì) 規(guī)則限定窗口主要是對彩民的算法分析、總結(jié)和歸納得出的分類方案,它有 固定 號碼 、 和值大小、奇偶判定、區(qū)域劃分四項(xiàng)組成,并在通過選擇設(shè)定某一種規(guī)則后,會對該選項(xiàng)進(jìn)行 Checked 值的設(shè)定,每次取消規(guī)則時,會提示用戶,您已經(jīng)取消了某項(xiàng)規(guī)則 。 而系統(tǒng)也會將對規(guī)則的變量初始為 False。 固定 號碼 窗口 固定號碼窗口,是針對 彩票算法中個體分析的具體設(shè)計(jì),選擇可能出現(xiàn)的號碼,來進(jìn)行規(guī)則限定。 固定號碼窗口的設(shè)計(jì)采用了復(fù)選框列表控件( CheckedBoxList)和靜態(tài)文本框控件 (Label)的組合 模式,利用 7 組設(shè)計(jì)來滿足不同玩法的需求。通過進(jìn)行對 Visiable 屬性的設(shè)置來控制顯示某組數(shù)據(jù)。 而針對數(shù)據(jù)的加載,頁面采用了對 Load 方法的調(diào)用,根據(jù)玩法的不同加載不同的頁面,例如雙色球,采用第一組和第七組的組合方式,將其他控件對隱藏,并將第一組設(shè)定為紅球選號部分,加載 33 個 CheckBox 放入容器CheckedBoxList 里。 而針對固定號碼的保存設(shè)置,是通過判斷 CheckedBoxList 里的 CheckBox狀態(tài),來進(jìn)行重新初始化 DoubleBall 類中的 DBValue 對象中的值。 代碼如下: [0] = 。 [1] = 。 for (。 i 33。 i++) { if (i ) { 18 [i] = ( [i].ToString())。 } else { [i] = 0。 } } 在對任何數(shù)據(jù)進(jìn)行設(shè)定或者修改的時候,應(yīng)該有適 當(dāng)?shù)呐袛啵欠駶M足該格式或者數(shù)量,在雙色球中保存的數(shù)據(jù),需要紅球至少 6 個以上,藍(lán)球至少 1個以上,這些基本的判斷也在保存過程中,進(jìn)行了具體的編碼 。 圖 43 規(guī)則限定 —— 固定號碼設(shè)計(jì)界面 19 和值大小窗口 和值大小是 指 數(shù)據(jù)在一個范圍內(nèi)或者符合一個固定值 的規(guī)則設(shè)定,是對彩票玩法中值數(shù)分析的一個具體實(shí)現(xiàn)。 該窗口設(shè)定有三個文本控件( TextBox)和二個單選控件 (RadioButton)組成,通過對 RadioButton 控件的選擇設(shè)置,來判定是進(jìn)行和值大小的設(shè)定還是進(jìn)行和值范圍的設(shè)定。 和值大小的設(shè)計(jì) 中,首先對 TextBox 的 MaxLength 進(jìn)行限定設(shè)置,防止用戶非法輸入超過 int 存儲范圍的數(shù)字?jǐn)?shù)據(jù),保證程序中值變量不會溢出。 同時還要對 文本 框內(nèi) 的輸 入字符 進(jìn)行 限定 設(shè)置 ,保證 程序 不會 在進(jìn)行()方法操作時,產(chǎn)生異常錯誤。這里的基本限定采用了TryCatch 的異常處理解決辦法。 圖 44 和值大小設(shè)計(jì)窗口 20 異常處理解決的 trycatch 語句: try { int iSumMin = ()。 int iSumMax = ()。 } catch { (請勿輸入非法字符! )。 } 奇偶 判斷 窗口 奇偶判斷是針對出現(xiàn)的數(shù)字號碼進(jìn)行產(chǎn)生的概率的判斷。 該功能限定設(shè)計(jì)是將整體分析的奇偶判斷的實(shí)現(xiàn), 窗口中通過二大單選按鈕控件( RadioButton)進(jìn)行分類選擇,該規(guī)則設(shè)計(jì)分為個數(shù)設(shè)定和位置選擇,個數(shù)設(shè)定是根據(jù)具體產(chǎn)生的號碼進(jìn)行設(shè)置,基本號碼產(chǎn)生幾個奇數(shù)和幾個偶數(shù)判定。 位置選擇是針對具體的位置是奇數(shù)還是偶數(shù),或者 只是個別位為奇數(shù) 的 設(shè)計(jì)。 21 圖 45 規(guī)則限定 —— 奇偶判定 位置選擇是使用了 控件組( GroupBox),將三個單選控件 (RadioButton)放入到一個控件組中,總共有 7組 。 該設(shè)計(jì)通過對組里的選項(xiàng)進(jìn)行選擇后,利用DoubleBall 這樣的具體玩法類來進(jìn)行判斷和生成對應(yīng)結(jié)果。 區(qū)域 劃分 窗口 區(qū)域劃分是針對整體分析的另一種形式進(jìn)行設(shè)計(jì),將彩民最常使用的三區(qū)分法進(jìn)行設(shè)計(jì),將所有數(shù)字劃分到三個區(qū)域內(nèi),并且對應(yīng)區(qū)域內(nèi)出現(xiàn)的的個數(shù) 。 該窗口只利用三 組 文本框控件( TextBox) 和靜態(tài)文本( Label) 來 進(jìn)行 數(shù)據(jù)的設(shè)定,并且根據(jù) 屬性來判斷是某種玩法的分區(qū)方式,如3D 的分區(qū)方式為 012 路的分區(qū)方式 。 22 圖 46 規(guī)則限定 —— 區(qū)域劃分 三區(qū)設(shè)定的和值必須為該選號的區(qū)域范圍,而且符合玩法設(shè)定的對應(yīng)數(shù)值,如雙色球的區(qū)域范圍為 133,紅球?yàn)?6個。 號碼記錄菜單設(shè)計(jì) 號碼記錄主要是將玩家自己產(chǎn)生出來的理想號碼進(jìn)行記錄,或者是對歷史開獎記錄進(jìn)行分析。讓玩家除了通過按規(guī)則系統(tǒng)生成來挑選彩票的這一種方法外,還有其他的途徑來推測并預(yù)計(jì)出彩票的 中 獎號碼。 歷史彩票窗口 歷史 彩票是從中彩網(wǎng)( 存到數(shù)據(jù)庫中,并且讀取到 GirdView 控件里,讓玩家進(jìn)行基本的查看。 該窗口中包含中獎號碼,期數(shù),奇偶比,三區(qū)比等多種直觀數(shù)據(jù)分析,對于固定范圍內(nèi)的比較(如 10 期)說明,也提供了官方的解析和數(shù)值分析,將數(shù) 23 值分析、現(xiàn)象分析、整體分析,都有相應(yīng)的體現(xiàn)。 收藏號碼 窗口 收藏號碼是指玩家在通過規(guī)則和系統(tǒng)隨機(jī)生成的號碼,對有興趣的號碼進(jìn)行收藏,并對該號碼進(jìn)行比較分析,產(chǎn)生出幾個彩迷比較感興趣的數(shù)值分析比較。 收藏過的號碼會記 錄 到數(shù)據(jù)庫中 , 通過菜單中的歷史彩票選項(xiàng)可以打開查看該窗口,該窗口由選項(xiàng)卡控件( TabControl)來進(jìn)行具體的實(shí)現(xiàn) 切換歷史記錄和收藏記錄兩項(xiàng)。 圖 47 規(guī)則限定 —— 彩票記錄 歷史記錄使用一個靜態(tài)文本框和一個組合下拉列表框( ComboBox)組成 ,數(shù)據(jù)顯示部分使用 DataGirdView 控件進(jìn)行顯示設(shè)置,而個人收藏中使用一個DataGirdView 控件來進(jìn)行具體的實(shí)現(xiàn)。 歷史記錄中通過組合下拉列表框( ComboBox)控件的 OnChanged 事件,修 24 改鏈接傳入 SQL 的字符串 ,返回的 DataSet 數(shù)據(jù) 集綁定到 GirdView 控件中,顯示具體的數(shù)值信息。 其他窗口設(shè)計(jì) 幫助信息 幫助信息是對軟件的基本操作進(jìn)行講解,防止彩迷在使用彩票過程中,對某些字段或者樣式不懂,而無法進(jìn)行操作的幫助信息。 該窗口下使用樹狀菜單( TreeView)控件,將幫助信息分為基本幾類,通過 OnSelected 事件,來觸發(fā) TreeView 控件,顯示具體的內(nèi)容信息。 圖 48 規(guī)則限定 —— 系統(tǒng)幫助 版權(quán)信息 軟件的版權(quán)信息只得是該軟件使用的核心版本號, 防止有些人利用軟件從事商業(yè)行為。 因?yàn)樵撛O(shè)計(jì)軟件可 能進(jìn)行開源,集中大家的智慧,來使該軟件有 25 長足的發(fā)展與進(jìn)步。 基礎(chǔ) 類的設(shè)計(jì) 在軟件的實(shí)現(xiàn)過程中,有很多相似或者相近的功能設(shè)計(jì),而且為了以后將C/S 模式的軟件移植到 B/S 結(jié)構(gòu)的平臺上面,將具體的基本功能類封裝并且提煉出來,有助于軟件的維護(hù)改進(jìn)和后期的開發(fā)。 CPMath 類 CPMath 類主要提供一些彩票計(jì)算方面的函數(shù)定義,以靜態(tài)公有化得方式定義函數(shù),讓所有類可以進(jìn)行有效的訪問,并不受權(quán)限限制。 1. 隨機(jī)對象 Rnd 屬性 該屬性定義初始化一個 Random 隨機(jī)對象,并在后續(xù)的方法中有所調(diào)用。 2. 隨機(jī)生成 CPRandom()方法 int CPRandom(int Min, int Max)方法是生成 Min 到 Max 之間的隨機(jī)數(shù)字,返回一個 int 類型的值。 int[] CPRandom(int[] Num, int Max)方法是生成從傳入的 Num 數(shù)組中隨機(jī)產(chǎn)生 Max 個數(shù)字,該方法中就使用到了洗牌算法。 int[] CPRandom(int[] Num, int Max, int NumCount)方法是針對進(jìn)行過固定號碼規(guī)則設(shè)定后的隨機(jī)生成方法,該方法是從傳入的 Num 數(shù)組中,隨機(jī)選取數(shù)組中 NumCount 中的元素,而產(chǎn)生 Max 個數(shù)字的數(shù)組 ,并返回值。 3. 排序方法 CPSort(ref int[] SortNum) 該排序方法就使用了基本的冒泡排序算法,將傳入的數(shù)組進(jìn)行由小到大的排序,該方法主要是處理一些雙色球、 36 選 7等玩法 的格式化樣式操作 4. 格式化字符操作 CPFormatString() 該方法有 2 種重載方法 , string CPFormatString(int[] Num) 和 string 26 CPFormatString (int[] Num, int Sep) ,對于 int[] Num, int Sep 參數(shù)定義,是為了處理像雙色球由基本號碼和特殊號碼組成的玩法,格式化出字符串的操作。 該格式化 主要是為了將產(chǎn)生的數(shù)值寫入主窗口的 Label 控件中。 5. 接口 IPlay 的定義。 CPState 類 CPState 類主要是為了保存在線處理狀態(tài)類,將常用或者標(biāo)記操作的狀態(tài)來進(jìn)行定義和設(shè)計(jì)。 該類中的變量和方法通常定義成靜態(tài)變量,保障該變量在程序中獨(dú)一無二。 1. 變量 PlayType 該變量保存當(dāng)前玩家選擇的玩法,在具體的玩法類或者主窗口,設(shè)定窗口,歷史記錄查詢窗口都有調(diào)用,通過 PlayType 的方法 設(shè)置來判斷應(yīng)該進(jìn)行具體的操作。 2. 布爾數(shù)組 RuleState RuleState 數(shù)組是保存當(dāng)前玩家設(shè)定了哪些規(guī)則,具體的玩法類根據(jù)定義的具體規(guī)則來調(diào)用具體的處理方法。 3. 創(chuàng)建玩法方法 CreatePlay() 該方法通過定義的 PlayType 屬性來進(jìn)行相應(yīng)的具體玩法的對象的創(chuàng)建 ,由于具體的玩法實(shí)現(xiàn)使用了 Singleton 模式,所以通過此創(chuàng)建方法來保證對象的唯一性。 CPValue 類 CPValue 是玩法中調(diào)用保存的基本數(shù)據(jù)信息,該類方法通過重載構(gòu)造函
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1