利用图形计算器计算猜数字游戏.doc_第1页
利用图形计算器计算猜数字游戏.doc_第2页
利用图形计算器计算猜数字游戏.doc_第3页
利用图形计算器计算猜数字游戏.doc_第4页
利用图形计算器计算猜数字游戏.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

利用图形计算器计算猜数字游戏猜数字(又称 Bulls and Cows )是一种20世纪中期的益智类小游戏。一般由两个人玩,也可以由一个人和电脑玩,在纸上、在网上都可以玩。这种游戏规则简单,但可以考验人的严谨和耐心。 所在省市: 天津市 作者姓名: 李元亨 摘要:本文选择“猜数字游戏”,通过数学分析完成其优化策略的生成。作者在进行猜数字游戏的同时,突发奇想,是否可以把猜数字游戏利用图形计算器的编程功能推广到图形计算器之中并且求解出其优化策略。关键词:图形计算器 最优策略 编程 猜数字游戏一编写猜数字程序(一)简单背景介绍 猜数字(又称 Bulls and Cows )是一种古老的益智类游戏。通过多次对数字的猜测和对数字位置的提示,完成数字。这种游戏规则简单,但可以考验人的严谨和耐心。游戏规则如下:一般两个人玩,一方出数字,一方猜。出数字的人要想好一个没有重复数字的4位数,不能让猜得人知道。猜的人就可以开始猜。每猜一个数字,出数者就要根据这个数字给出几A几B,其中A前面的数字表示位置正确的数的个数,而B前的数字表示数字正确而位置不对的数的个数,接着猜的人再根据出题者的几A几B继续猜,直到猜中为止。 (二)编程计划1) 首先用随机变量生成一个四位数(要求每一位都不同)2) 将此四位数各位分开并存储在不同的变量中3) 要求用户输入一个四位均不相同的四位数4) 首先对比各位中有无相同的数字,并统计其个数5) 其次筛选其中位置错误而数字正确的个数6) 输出结果,等待用户输入7) 循环直至输入结果正确为止(3) 操作过程我们所使用的图形计算器的型号为Casio CG-20计算器(为便于理解,将操作语言调至中文)首先打开图形计算器,进入程序并新建文件(注意cg20的函数不能手动输入,只能通过按shift+vars进入)步骤一:用随机变量生成一个四位数(要求每一位都不同)程序如下此时的K输出只用于测试,请务必删除(否则答案自动输出了)步骤二:分离各位数字我们可以发现,在计算四位数中是否有重复数字时,已分离出四位其中:千位为A、百位为B、十位为C、个位为D步骤三:要求用户输入一个四位均不相同的四位数(必须判断是否为无重复、有意义的四位数),并记录输入次数1) 输入数字2)分离各位数字其中:千位为E、百位为F、十位为G、个位为H3) 判断是否符合要求 4) 若不符合,继续循环,等待输入步骤四:核心计算1) 建立统计变量Y(加在输入循环体之前)2) 判断数字和位置均符合的个数(统计变量W)将相同的值赋值为0.1为了将来判断数字相同而位置不对的个数3) 判断数字对而位置不对的(统计变量X)4) 输出结果5) 判断是否正确若是,退出循环;反之,继续直到出现正确结果或错误大于15次加入循环嵌套与标识变量下面是判断语句6) 输出尝试次数步骤五:程序测试程序原代码:ProgramMode: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=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 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 统计分析猜数字游戏的最佳算法(1) 查阅资料我们有以下几种策略可供选择,包括简单策略每次都猜可能答案中的第一个、启发式策略通过计算可能集缩小的大小分为最坏情况指标、平均情况指标、预期步数指标。(来源于百度百科) (2) 利用图形计算器统计学分析经过多次练习,作者可以熟练掌握几种常见的策略,故利用Casio CG-20的统计功能选择几组最擅长的方法来统计、评估每种算法的优劣,统计指标是简单的统计学数据,包括最大值、最小值、中位数、众数、平均数和方差来综合统计每一种算法的好坏(实验数据中有一部分来源于作者亲身试验并且舍弃极端值)主要统计以下几种算法:1) 简单策略2) 平均情况指标策略3) 最坏情况指标策略(3) 实际操作实际操作中有大量的数据需要处理、筛选,经过多次认真筛选,得到以下三组实验数据。1)简单策略实验次数123456789实验结果5476653852) 平均情况指标策略(后三组数据为程序计算)实验次数123456789实验结果4554645363) 最坏情况指标策略(全部为程序计算)实验次数123456789实验结果5766456531)首先打开图形计算器,进入统计2)输入数据并计算简单策略最大值最小值中位数众数平均数方差83555.44285平均情况指标策略最大值最小值中位数众数平均数方差6354,54.67204最坏情况指标策略最大值最小值中位数众数平均数方差7355,65.22253(四)数据分析显然,平均情况指标拥有最小的方差,即其稳定性最好、其次是最坏情况指标、最后是简单策略。平均情况指标同时拥有最小的平均数,即其试验次数最少,不失是一种最有效算法;在众数上的表现也略好于其他两组,而统计数据中没有体现的是其所需时间较长,大约是简单策略的两倍。而最坏情况指标,无论从时间、稳定性、有效性都不太优秀,不过根据软件统计资

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论