MFC实现的简易计算器:用编译原理方法(词法分析和语法分析)对表达式进行解析,判断其合法性;
并通过后缀表达式进行求值。
2023/10/5 13:47:07 2MB Calculator
1
设计内容及要求:设计一个语法制导翻译器,将算术表达式翻译成四元式。
要求:先确定一个定义算术表达式的文法,为其设计一个语法分析程序,为每条产生式配备一个语义子程序,按照一遍扫描的语法制导翻译方法,实现翻译程序。
对用户输入的任意一个正确的算术表达式,程序将其转换成四元式输出(可按一定格式输出到指定文件中)。
2023/10/3 10:34:55 2KB 编译原理
1
实现一个关于表达式的LR语法分析程序识别用户输入的包含变量与整数的混合算术表达式(不包含减法与除法运算)文法如下: 0SE 1EE+E 2EEE 3EE 4Ei编程运用上述LR分析表识别从键盘输入的算术表达式">实现一个关于表达式的LR语法分析程序识别用户输入的包含变量与整数的混合算术表达式(不包含减法与除法运算)文法如下: 0SE 1EE+E 2EEE 3EE 4Ei编程运用上述LR分析表识别从键盘输入的算术表达[更多]
2023/9/30 2:42:02 6KB LR语法 编译原理 java
1
火龙果软件工程技术中心  前言:权限往往是一个极其复杂的问题,但也可简单表述为这样的逻辑表达式:判断“Who对What(Which)进行How的操作”的逻辑表达式是否为真。
针对不同的应用,需要根据项目的实际情况和具体架构,在维护性、灵活性、完整性等N多个方案之间比较权衡,选择符合的方案。
目标:直观,因为系统最终会由最终用户来维护,权限分配的直观和容易理解,显得比较重要,系统不辞劳苦的实现了组的继承,除了功能的必须,更主要的就是因为它足够直观。
简单,包括概念数量上的简单和意义上的简单还有功能上的简单。
想用一个权限系统解决所有的权限问题是不现实的。
设计中将常常变化的“定制”特点比较强的部分判断为业
2023/9/28 16:24:23 143KB 系统权限设计概述
1
《数据结构,算法及应用》zhangxianchaoP8013题
2023/9/28 3:29:47 275KB 数据结构
1
(1)从键盘读入一个合法的算术表达式,输出正确的结果。
(2)显示输入序列和栈的变化过程。
(3)考虑算法的健壮性,当表达式错误时,要给出错误原因的提示
2023/9/27 15:28:50 193KB 数据结构 课程设计
1
PB前端打印报表自定义修改功能:1.不连接任何数据库,不重新创建数窗,所有属性都在原数据窗口上修改,最大限度保证原数据窗口的完整性;1.可修改窗口上下左右打印边距;2.可框选,多选对象;2.可任意拖动,拉长,拉宽等,修改对象常用属性及表达式;3.可创建线条,文本,数据字段,表达式,方框,椭圆,圆角方框;4.可创建分组,删除分组(有时分页打印会用到);5.可以保存修改的数据窗口在本地,下次继续调用;6.修改和预览一体化。
7.只有5个主要对象,方便移植(3个window,2个DW)满示程序,并非源码!
2023/9/27 10:18:53 4.28MB PB 自定义报表 报表修改 数据窗口
1
正则表达式之道英文原文已排版
2023/9/23 12:29:57 52KB 正则表达式 regex
1
1.经过以下栈运算后,x的值是()。
InitStack(s);Push(s,'a');Push(s,'b');Pop(s,x);Gettop(s,x);A.aB.bC.1D.02.循环队列存储在数组A[0..m]中,则入队时的操作为()。
A.rear=rear+1B.rear=(rear+1)mod(m-1)C.rear=(rear+1)modmD.rear=(rear+1)mod(m+1)3.栈和队列的共同点是()。
A.都是先进先出B.都是先进后出C.只允许在端点处插入和删除元素D.没有共同点4.若用一个大小为6的数组来实现循环队列,且当rear和front的值分别为0和3。
当从队列中删除一个元素,再插入两个元素后,rear和front的值分别为:()。
A.1和5B.2和4C.4和2D.5和15.程序填顺序循环队列的类型定义如下:typedefintET;typedefstruct{ET*base;intFront;intRear;intSize;}Queue;QueueQ;队列Q是否“满”的条件判断为(C)。
A.(Q.Front+1)=Q.RearB.Q.Front=(Q.Rear+1)C.Q.Front=(Q.Rear+1)%Q.sizeD.(Q.Front+1)%Q.Size=(Q.Rear+1)%Q.size6.若进栈序列为1,2,3,4,进栈过程中可以出栈,则()不可能是一个出栈序列。
A.3,4,2,1B.2,4,3,1C.1,4,2,3D.3,2,1,47.向顺序存储的循环队列Q中插入新元素的过程分为三步:()。
A.进行队列是否空的判断,存入新元素,移动队尾指针B.进行队列是否满的判断,移动队尾指针,存入新元素C.进行队列是否空的判断,移动队尾指针,存入新元素D.进行队列是否满的判断,存入新元素,移动队尾指针8.关于栈和队列,()说法不妥。
A.栈是后进先出表B.队列是先进先出表C.递归函数在执行时用到栈D.队列非常适用于表达式求值的算符优先法9.若用数组S[0..m]作为两个栈S1和S2的共同存储结构,对任何一个栈,只有当S全满时才不能作入栈操作。
为这两个栈分配空间的最佳方案是()。
A.S1的栈底位置为0,S2的栈底位置为mB.S1的栈底位置为0,S2的栈底位置为m/2C.S1的栈底位置为1,S2的栈底位置为mD.S1的栈底位置为1,S2的栈底位置为m/2二、程序填空题(没特别标注分数的空的为3分,共23分)。
1.下面的算法是将一个整数e压入堆栈S,请在空格处填上适当的语句实现该操作。
typedefstruct{int*base;int*top;intstacksize;}SqStack;intPush(SqStackS,inte){if(S.top-S.base>=S.stacksize){S.base=(int*)realloc(S.base,(S.stacksize+1)*sizeof(int));if(!S.base){printf(“NotEnoughMemory!\n”);return(0);
2023/9/21 10:03:21 18KB C语言 数据结构 第三章 作业
1
表达式计算说明 很久就想编一个这样的计算器,只可惜一直没什么思路,最近突然灵感来了,所以就写下这个程序。
现在还在测试阶段,所以功能不是很完善。
程序功能:基本的表达式运算,可以自定义函数跟常量,分别保存在“常数.txt”和“函数.txt”,方便自己添加。
双击相应的函数名或常数名就可以将函数或常量添加到表达式中。
计算过程只能当表达式只有一行时有效。
实例1:计算sqr(19+tan(98)*tan(91)-sin(122)*(5*5-(19-11)))/2 计算过程sqr(19+tan(98)*tan(91)-sin(122)*(5*5-(19-11)))/2 =sqr(19+-7.11536972238419*tan(91)-sin(122)*(5*5-(19-11)))/2 =sqr(19+-7.11536972238419*-57.2899616307588-sin(122)*(5*5-(19-11)))/2 =sqr(19+-7.11536972238419*-57.2899616307588-.848048096156426*(5*5-(19-11)))/2 =sqr(19+-7.11536972238419*-57.2899616307588-.848048096156426*(5*5-8))/2 =sqr(19+-7.11536972238419*-57.2899616307588-.848048096156426*17)/2 =20.3032618253667/2 =10.1516309126834实例2:计算 a=34 b=55 c=a+1 圆的面积(c) a*b c=a+b 圆的面积(c) 以下是计算结果: 圆的面积(c)=3848.4510006475 a*b=1870 圆的面积(c)=24884.5554090847 内置函数: !(x) -x的阶乘 lg(x),log(x) 以10为底的对数 ln(x) 以e为底x的对数 pow(x,y) x的y方次幂 prime(x) 判定x是否是素数,如果是直接将s2返回,否则将其各因子用连乘返回 sqr(x),sqrt(x) -x的二次方根 arcsin(x) -x的反正弦 arccos(x) -x的反余弦 arcsec(x) -x的反正割 arccsc(x) -x的反余割 atn(x),arctg(x) -x的反正切 arcctg(x) -x的反余切 sin(x) -x的正弦 cos(x) -x的余弦 sec(x) -x的正割 csc(x) -x的余割 tg(x),tan(x) -x的正切 ctg(x) -x的余切 harcsin(x) -x的反双曲正弦 harccos(x) -x的反双曲余弦 harcsec(x) -x的反双曲正割 harccsc(x) -x的反双曲余割 harctg(x),harctan(x) -x的反双曲正切 harcctg(x) -x的反双曲余切 hsin(x) -x的双曲正弦 hcos(x) -x的双曲余弦 hsec(x) -x的双曲正割 hcsc(x) -x的双曲余割 htg(x),htan(x) -x的双曲正切 hctg(x) -x的双曲余切有什么意见或建议可以跟我联系Email: ldm.menglv@gmail.com
2023/9/19 9:57:10 29KB 表达式 计算 vb
1
共 571 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡