编译原理课程设计之编译器(完整代码+测试样例):包含了完整的编译器源代码和测试样例,内容上实现了一体化的词法分析+语法分析+语法制导翻译,最后生成对应汇编指令
2024/3/13 17:07:30 8KB 编译原理
1
语法分析生成器源代码分析,一本不错的书,值得细看。
2024/3/12 10:44:09 38.12MB 编译
1
猜数字  猜数字  猜数字可以算是一种益智类小游戏,一般两个人玩,也可以由一个人和电脑玩,可以在纸上、在网上都可以玩。
这种游戏规则简单,但可以考验人的严谨和耐心。
  目录  1规则  1.1次数限制  1.2含重复数字的猜数字  2解法  2.1计算机解  2.2推理解  2.3代入解  2.4其他  3参看  规则  这个游戏的规则比较简单,一般两个人玩,一方出数字,一方猜。
出数字的人要想好一个没有重复数字的4位数,不能让猜得人知道。
猜的人就可以开始猜。
每猜一个数字,出数者就要根据这个数字给出几A几B,其中A前面的数字表示位置正确的数的个数,而B前的数字表示数字正确而位置不对的数的个数。
  如正确答案为5234,而猜的人猜5346,则是1A2B,其中有一个5的位置对了,记为1A,而3和4这两个数字对了,而位置没对,因此记为2B,合起来就是1A2B。
  接着猜的人再根据出题者的几A几B继续猜,直到猜中为止。
  次数限制  有的时候,这个游戏有猜测次数上的限制。
根据计算机测算,这个游戏,如果以最严谨的计算,任何数字可以在7次之内猜出。
而有些地方把次数限制为6次或更少,则会导致有些数可能猜不出来。
而有些地方考虑到人的逻辑思维难以达到计算机的那么严谨,故设置为8次甚至10次。
也有的没有次数上的限制。
  含重复数字的猜数字  有一种使用范围比较狭窄的猜数字,是允许重复数字存在的猜数字,但由于其规则较复杂,故没有得到广泛的推广。
其规则如下:  除了上面的规则外,如果有出现重复的数字,则重复的数字每个也只能算一次,且以最优的结果为准,  如正确答案为5543,猜的人猜5255,则在这里不能认为猜测的第一个5对正确答案第二个,根据最优结果为准的原理和每个数字只能有一次的规则,两个比较后应该为1A1B,第一个5位子正确,记为1A;
猜测数字中的第三个5或第四个5和答案的第二个5匹配,只能记为1B。
当然,如果有猜5267中的第一个5不能与答案中的第二个5匹配,因此只能记作1A0B。
  解法  对于不同的人,常常会用到不同的解法  计算机解  通常采用的计算机解是通过排除法,即遍历所有可能的数,将不符合要求的数剃掉。
  下面是一个计算机处理的例子:  for(inti=0;i<Array.Count;i++){if(Array与当前输出数字的比较!=用户输入的与正确答案对比的结果){Array.Remove(i);i--;}}    这个代码采用C#的语法,其中Array表示所有可能的数字的集合。
这个例子为了方便说明,结合了语言的描述。
  这样的方法充分利用了计算机计算速度快的优势,迅速排出不符合要求的数。
通常第一次猜测的时间(有的引擎为第二次猜测)会在10秒左右,而随着猜测次数的不断增加,猜测的时间会越来越短,最后几乎不需要时间,这是由于集合中的数越来越少,排除需要的时间也随之减少。
  推理解  计算机解释根据这种方法推广的。
这种解法的中心思想是假设猜的这个数字是正确答案,即如果它为正确答案,那么这个数应该符合已经猜测的数及其结果。
如已经有  12340A0B  那么下一步就不能猜含有1234中任一数字的数,因为如果正确答案含1234中任一,结果就不可能为0A0B。
  这种解法对猜者要求较高,通常,可能会被定式思维所干扰,导致难以猜出。
  基于这个解法,根据个人思维风格和起始数字选择的不同,以及对出题者出数风格的猜测,有时可以把猜测次数控制在5步内,但不总能在5步内猜出。
  使用这种解法需要考虑的时间很久,和计算机解正好相反,人使用这种方法,通常随着猜测次数的增加,需要考虑的东西不断增多,反而考虑的时间会变得越来越长。
  代入解  还有一种方法,在人的猜测中很常用,即将推理出不可能含有的数字,代入,察看那些数字是有的。
  但这种方法其猜测次数难以确定,且通常的猜测次数比推理解多。
  其他  可能还有其他的方法。
2024/3/11 20:56:10 20KB 猜数字游戏 C# GuessNumber
1
SQL帮助文档使用这个文件时sql帮助文档,可以查询sql语句的各种语法
2024/3/11 14:28:19 2.12MB SQL帮助文档
1
java实现的C语言(部分文法)简单编译器,包括词法分析、语法分析、语义分析,输出四元式,有详细文档
2024/3/10 22:38:33 733KB 编译器 java
1
定义、表达式、赋值、条件(if-else、switch)、循环语句(for、while、do-while)、符号表、二维数组JavaCC实现词法分析、语法分析、语义分析
1
★☆★“人生苦短,我看原版”系列★☆★这是英文原版《笨办法学Python3》,真正的基于Python3.6,网上很多骗人的说是第三版第四版,都其实是基于Python2.x。
虽然是英文版,但是语法用词都不难。
实在不行还有中文版python2的对照。
相信大家都能啃下来的。
2024/3/9 0:51:24 4.35MB 笨办法 Python 英文原版 3.0
1
一个综合案例贯穿c#语法、设计模式、giscad二次开发、devexpress控件库使用。
后续会持续更新
2024/3/8 15:42:33 5.04MB c# gis二次开发 cad二次开发 devexpress
1
编译原理课程词法分析器,语法分析器(递归实现),中间代码生成;
2024/3/8 12:49:43 18KB 编译原理
1
OpenERP应用和开发基础,主要讲述OPENERP的系统架构以及基本知识,还有开发的一些基本语法等,非常适合入门者使用。
2024/3/8 6:48:05 11.98MB OpenERP
1
共 949 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡