彩票算法研究与设计-毕业设计内容摘要:
据库, DataSet 能记下列的初始值(我们可以用在 where 语句中以重新取得记录),而且还对 DataRow 的状态( insert、 update和 delete)进行跟踪。 比如我们可以加一个 Row_Update 事件,来保持两个列值的同步。 3. 可排序。 4. 可进行数据过滤。 5. 可以方便地使用 XSD39。 s 来定义强类型的 DataSet—— 使用定义好的 xml文件自动生成强类型 DataSet。 这为自动生成代码提供了很大的方便。 6. 计算字段和查找字段 —— 我们可以加入字段,这个字段的值依赖于其他字段(甚至来自别的 DataTable)的值。 7. 和 XML良好地结合。 DataSet 提供了内建的 XML 序列化功能,还有 ReadXml()、 WriteXml()等方法,为我们提供了很大的方便。 比如我们可以使用 WebService 返回 DataSet 14 到客户端。 8. 关系。 一个 DataSet 中可以有多个 DataTable,这些 DataTable 之间还可以建立关联,可以 Select Distinct 和 Group By。 9. 数据验证。 DataSet 本省就提供简单的验证(比如类型、可空、最大长度和唯一性等),另外如上面第 2 点提到的,我们还可以以编程的方式对行和列的变化进行捕捉(比如 Row_Update),从而可以对数据进行校验。 10. 自动增长列。 在处理自动增长列方面也很方便。 11. 微软的其它产品对 DataSet 提供了很好的支持,比如 InfoPath、BizTalk等。 12. 第三方 .Net 控件也对 DataSet 提供了很好的支持。 13. 利用 ExtendedProperty 可以方便地在运行时给 DataSet 添加元数据,并且非常易于使用。 14. DataSet 在 .Net 社区中是讨论很多的技术之一,有广泛的应用。 15. 对于 DataSet 的性能问题,将在新版本中得到改善。 而且是否性能就低还在于使用者的水平。 15 第 4 章 彩票算法的实现 根据上述对彩票玩法的分析,将玩法和规则进行总结划分,设计并创建以下窗口。 主窗口功能设计 主窗口 使用 一个菜单控件( MenuStrip) ,一个静态文本控件( Label),一个按钮控件( Button)组成。 菜单主要包含玩法选择,规则限定,号码分析,系统帮助四个主类组成。 软件启动时,需指定具体玩法 ,默认情况下加载的是双色球玩法。 并且对玩法选择菜单做快捷键绑定,方便用户 在 玩法之间的 可以快速 的 切换。 主窗口主要是产生按照指定规则进行产生号码,并且显示结果的页面,在通过大量的计算后,反馈给用户信息的节目,而设计出福利彩票的背景,可以拉近与彩民之间的距离,有一种真正在打印一张彩票的感觉。 每组数据通过两个“ \n”进行换行处理,使页面看起来不过于 拥挤,在视觉上,给用户一个清新的设计。 并且,当退出是给用户一句良好的提示,一是让软件与用户之间的互动产生友好感,二是增加用户可能对软件产品的推广 概率。 16 图 41 主窗口界面 图 42 退出程序的友情提示 17 规则限定窗口设计 规则限定窗口主要是对彩民的算法分析、总结和归纳得出的分类方案,它有 固定 号码 、 和值大小、奇偶判定、区域划分四项组成,并在通过选择设定某一种规则后,会对该选项进行 Checked 值的设定,每次取消规则时,会提示用户,您已经取消了某项规则。 而系统也会将对规则的变量初始为 False。 固定 号码 窗口 固定号码窗口,是针对 彩票算法中个体分析的具体设计,选择可能出现的号码,来进行规则限定。 固定号码窗口的设计采用了复选框列表控件( CheckedBoxList)和静态文本框控件 (Label)的组合 模式,利用 7 组设计来满足不同玩法的需求。 通过进行对 Visiable 属性的设置来控制显示某组数据。 而针对数据的加载,页面采用了对 Load 方法的调用,根据玩法的不同加载不同的页面,例如双色球,采用第一组和第七组的组合方式,将其他控件对隐藏,并将第一组设定为红球选号部分,加载 33 个 CheckBox 放入容器CheckedBoxList 里。 而针对固定号码的保存设置,是通过判断 CheckedBoxList 里的 CheckBox状态,来进行重新初始化 DoubleBall 类中的 DBValue 对象中的值。 代码如下: [0] =。 [1] =。 for (。 i 33。 i++) { if (i ) { 18 [i] = ( [i].ToString())。 } else { [i] = 0。 } } 在对任何数据进行设定或者修改的时候,应该有适 当的判断,是否满足该格式或者数量,在双色球中保存的数据,需要红球至少 6 个以上,蓝球至少 1个以上,这些基本的判断也在保存过程中,进行了具体的编码。 图 43 规则限定 —— 固定号码设计界面 19 和值大小窗口 和值大小是 指 数据在一个范围内或者符合一个固定值 的规则设定,是对彩票玩法中值数分析的一个具体实现。 该窗口设定有三个文本控件( TextBox)和二个单选控件 (RadioButton)组成,通过对 RadioButton 控件的选择设置,来判定是进行和值大小的设定还是进行和值范围的设定。 和值大小的设计 中,首先对 TextBox 的 MaxLength 进行限定设置,防止用户非法输入超过 int 存储范围的数字数据,保证程序中值变量不会溢出。 同时还要对 文本 框内 的输 入字符 进行 限定 设置 ,保证 程序 不会 在进行()方法操作时,产生异常错误。 这里的基本限定采用了TryCatch 的异常处理解决办法。 图 44 和值大小设计窗口 20 异常处理解决的 trycatch 语句: try { int iSumMin = ()。 int iSumMax = ()。 } catch { (请勿输入非法字符。 )。 } 奇偶 判断 窗口 奇偶判断是针对出现的数字号码进行产生的概率的判断。 该功能限定设计是将整体分析的奇偶判断的实现, 窗口中通过二大单选按钮控件( RadioButton)进行分类选择,该规则设计分为个数设定和位置选择,个数设定是根据具体产生的号码进行设置,基本号码产生几个奇数和几个偶数判定。 位置选择是针对具体的位置是奇数还是偶数,或者 只是个别位为奇数 的 设计。 21 图 45 规则限定 —— 奇偶判定 位置选择是使用了 控件组( GroupBox),将三个单选控件 (RadioButton)放入到一个控件组中,总共有 7组。 该设计通过对组里的选项进行选择后,利用DoubleBall 这样的具体玩法类来进行判断和生成对应结果。 区域 划分 窗口 区域划分是针对整体分析的另一种形式进行设计,将彩民最常使用的三区分法进行设计,将所有数字划分到三个区域内,并且对应区域内出现的的个数。 该窗口只利用三 组 文本框控件( TextBox) 和静态文本( Label) 来 进行 数据的设定,并且根据 属性来判断是某种玩法的分区方式,如3D 的分区方式为 012 路的分区方式。 22 图 46 规则限定 —— 区域划分 三区设定的和值必须为该选号的区域范围,而且符合玩法设定的对应数值,如双色球的区域范围为 133,红球为 6个。 号码记录菜单设计 号码记录主要是将玩家自己产生出来的理想号码进行记录,或者是对历史开奖记录进行分析。 让玩家除了通过按规则系统生成来挑选彩票的这一种方法外,还有其他的途径来推测并预计出彩票的 中 奖号码。 历史彩票窗口 历史 彩票是从中彩网( 存到数据库中,并且读取到 GirdView 控件里,让玩家进行基本的查看。 该窗口中包含中奖号码,期数,奇偶比,三区比等多种直观数据分析,对于固定范围内的比较(如 10 期)说明,也提供了官方的解析和数值分析,将数 23 值分析、现象分析、整体分析,都有相应的体现。 收藏号码 窗口 收藏号码是指玩家在通过规则和系统随机生成的号码,对有兴趣的号码进行收藏,并对该号码进行比较分析,产生出几个彩迷比较感兴趣的数值分析比较。 收藏过的号码会记 录 到数据库中 , 通过菜单中的历史彩票选项可以打开查看该窗口,该窗口由选项卡控件( TabControl)来进行具体的实现 切换历史记录和收藏记录两项。 图 47 规则限定 —— 彩票记录 历史记录使用一个静态文本框和一个组合下拉列表框( ComboBox)组成 ,数据显示部分使用 DataGirdView 控件进行显示设置,而个人收藏中使用一个DataGirdView 控件来进行具体的实现。 历史记录中通过组合下拉列表框( ComboBox)控件的 OnChanged 事件,修 24 改链接传入 SQL 的字符串 ,返回的 DataSet 数据 集绑定到 GirdView 控件中,显示具体的数值信息。 其他窗口设计 帮助信息 帮助信息是对软件的基本操作进行讲解,防止彩迷在使用彩票过程中,对某些字段或者样式不懂,而无法进行操作的帮助信息。 该窗口下使用树状菜单( TreeView)控件,将帮助信息分为基本几类,通过 OnSelected 事件,来触发 TreeView 控件,显示具体的内容信息。 图 48 规则限定 —— 系统帮助 版权信息 软件的版权信息只得是该软件使用的核心版本号, 防止有些人利用软件从事商业行为。 因为该设计软件可 能进行开源,集中大家的智慧,来使该软件有 25 长足的发展与进步。 基础 类的设计 在软件的实现过程中,有很多相似或者相近的功能设计,而且为了以后将C/S 模式的软件移植到 B/S 结构的平台上面,将具体的基本功能类封装并且提炼出来,有助于软件的维护改进和后期的开发。 CPMath 类 CPMath 类主要提供一些彩票计算方面的函数定义,以静态公有化得方式定义函数,让所有类可以进行有效的访问,并不受权限限制。 1. 随机对象 Rnd 属性 该属性定义初始化一个 Random 随机对象,并在后续的方法中有所调用。 2. 随机生成 CPRandom()方法 int CPRandom(int Min, int Max)方法是生成 Min 到 Max 之间的随机数字,返回一个 int 类型的值。 int[] CPRandom(int[] Num, int Max)方法是生成从传入的 Num 数组中随机产生 Max 个数字,该方法中就使用到了洗牌算法。 int[] CPRandom(int[] Num, int Max, int NumCount)方法是针对进行过固定号码规则设定后的随机生成方法,该方法是从传入的 Num 数组中,随机选取数组中 NumCount 中的元素,而产生 Max 个数字的数组 ,并返回值。 3. 排序方法 CPSort(ref int[] SortNum) 该排序方法就使用了基本的冒泡排序算法,将传入的数组进行由小到大的排序,该方法主要是处理一些双色球、 36 选 7等玩法 的格式化样式操作 4. 格式化字符操作 CPFormatString() 该方法有 2 种重载方法 , string CPFormatString(int[] Num) 和 string 26 CPFormatString (int[] Num, int Sep) ,对于 int[] Num, int Sep 参数定义,是为了处理像双色球由基本号码和特殊号码组成的玩法,格式化出字符串的操作。 该格式化 主要是为了将产生的数值写入主窗口的 Label 控件中。 5. 接口 IPlay 的定义。 CPState 类 CPState 类主要是为了保存在线处理状态类,将常用或者标记操作的状态来进行定义和设计。 该类中的变量和方法通常定义成静态变量,保障该变量在程序中独一无二。 1. 变量 PlayType 该变量保存当前玩家选择的玩法,在具体的玩法类或者主窗口,设定窗口,历史记录查询窗口都有调用,通过 PlayType 的方法 设置来判断应该进行具体的操作。 2. 布尔数组 RuleState RuleState 数组是保存当前玩家设定了哪些规则,具体的玩法类根据定义的具体规则来调用具体的处理方法。 3. 创建玩法方法 CreatePlay() 该方法通过定义的 PlayType 属性来进行相应的具体玩法的对象的创建 ,由于具体的玩法实现使用了 Singleton 模式,所以通过此创建方法来保证对象的唯一性。 CPValue 类 CPValue 是玩法中调用保存的基本数据信息,该类方法通过重载构造函。彩票算法研究与设计-毕业设计
相关推荐
取 键 盘 缓 冲 区YNZ F 是 否 为 1NS T A R TD I S PL A Y程 序Y 图 3 子程序 3 的流程图 武汉理工大学《微机原理与接口技术》课程设计说明书 9 拓展设计及功能说明 在本课设中,在完成老师要求的 ASCII 码 的转换等基本任务以外,我还在显示方式中的 背景颜色 和字体颜色 等方面做了拓展。 为了使屏幕显示更加美观,同时也可以方便地改变字体颜色,
ring the frequency of a number of means, including electronic counter measure the frequency with high precision, ease of use, rapid measurement, and to facilitate realization of the advantages of
综合性实验总结 淀粉酶活性测定:采用 3,5二硝基水杨酸显色法 过氧化物同工酶测定:采用垂直平板凝胶电泳法 结果与分析 吸胀与萌发水稻种子游离氨基酸含量比较 处理 游离氨基酸含量(单位) 吸胀 8060( ug/100g) 萌发 14270( ug/100g) 氨基酸的游离氨基与水合茚三酮作用后,能产生二酮茚胺的取代盐等蓝紫色化合物。 在一定范围内,其颜色的深浅与氨基酸的含量成正比。
个空间中欣赏几个相互渗透的空间时, 你获得的是空间的层次感。 而当你依次由一个空间走向另一个空间,通过对不同空间的亲身体验,最终获得的是对空间序列的感受。 所以空间序列的设计更注重的是考察人的空间行为,并以此为依据,设计空间的整体结构及各个空间的具体形态。 外部空间的序列组织和人流活动的关系十分密切。 一般地讲来,外部空间的序列组织首先必须考虑主要人流必经的路线
良好的弹性密封材料和隔热性良好的衬垫材料。 玻璃内侧的窗帘、百叶窗及其他遮蔽物与玻璃之间的距离不应小于 50mm。 不得使玻璃局部升温。 6 人体冲击安全规定 非安全玻璃不得替代安全玻璃。 安全玻璃的最大许用面积应符合表 ;有框架的普通退火玻璃或夹丝玻璃的最大许用面积应符合表 规定。 表 安全玻璃最大许用面积 玻璃种类 公称厚度( mm) 最大许用面积( m2) 钢化玻璃 单片防火玻璃 4 5
Ag、 Sg分别为锅水的允许碱度、允许含盐量 ,mmol/L,mg/L α 锅 炉 补 给 水 率 (1) Sg3500mg/L α *100%% 计算得 % % P1P2,取% 锅炉连续排污量 DpsP*D367kg/h 相关参数查《实用供热空调设计手册》 2 连续排污膨胀器的二次蒸汽量 kg/h 式中 :Dps连续排污量 ,367kg/h i锅炉饱和水焓 ,kj/kg,t184℃ ,i’ η