要是加班的话在lngo上怎么写java正则表达式怎么写?

以下试题来自:
单项选择题以下属于“S-O-R行为表达式”构成要素的是A.环境 B.感知C.刺激 D.反射E.反馈
为您推荐的考试题库
你可能感兴趣的试题
1A.智力测量B.日常生活活动能力评估C.人格测量D.精神心理测量E.情绪评价2A.12~24小时 B.24~48小时 C.48~72小时D.1~2周 E.2~4周3A.活检钳B.穿刺针C.导尿管D.喉镜E.膀胱镜4A.昏睡B.嗜睡C.浅昏迷D.昏迷E.深昏迷5A.计划阶段 B.反馈阶段C.处理阶段 D.执行阶段E.检查阶段
热门相关试卷
最新相关试卷江西应用科技学院,国家本科高校,江西省教育厅主管,江西省优秀学院,全国教育教学质量示范高校
若没找到您需要的信息,请试试搜索!
― 院系部门网站 ―
――党工团――
党委办公室
社团联合会
――行政办公室――
就业指导服务中心
心理咨询中心
评建网(评估办)
――教学部门――
德育教研室
体育教研室
――其 它――
“三元育人”研究所
风险管理办公室
符号计算语言CASC3.0&中数学表达式化简的原理与实现
&& 作者:衷仁保&&&&文章来源:宣传处&&&&点击数:5620&&&&更新时间:
要] 数学表达式化简是符号计算的核心问题。由于这个问题是不可判定问题,因此没有将表达式化简的一般算法。本文将提出应用于CASC3.0中数学表达式的化简的原理。描述化简的基本思想、化简语句的实现、符号表达式的内部表示、排序原理及化简算法。应用它们使CASC3.0具有了对数学表达式进行化简的一定能力。
符号计算、符号表达式化简、排序原理、重写规则、核心化简、高层化简
年D?Richardson就构造出一类表达式,并证明了:任给定其中一元素,判断该元素是否为零的问题是一个不可判定问题。也就是说,没有这样的算法,它能在有限步之内对该元素是否为零作出明确的答复。在不能确定X是否为零的情况下,2X+1是不可能被化简的。既然已经存在一类表达式,它的化简问题是不可判定的,那么一般的不受任何限制的表达式类的化简问题就更是一个不可判定问题了。因此,只能对加有限制的表达式类进行化简。
关于化简的策略是:
)有些化简是必须完成的基本化简。例如,消去多余的0和1,函数的特殊值的处理,合并同类项、合并同类因式,阶乘运算、计算数表达式的值、完成数的开方法算等等。
)有些化简是应由用户去决定的。例如,展开括号还是不展开,三角函数是和差化积还是积化和差,等等。
)根据开关的状态完成化简。例如,根据开关exp的状态将表达式展开或不展开。根据开关mcd的状态将表达式通分或不通分。根据trig和tosincos的状态进行或不进行高层次的三角函数化简等等。
)根据用户使用的代换语句建立的代换规则进行化简。
)根据系统内部设置的代换规则进行化简。
)根据表达式中出现的系统函数和用户自定义函数,调用相应的功能摸块完成化简。可单独调用。核心化简和高展化简各成一个独立的模块,可单独调用。第2节将着重介绍CASC3.0的核心化简的实现原理。第3节将着重介绍高层化简的实现原理。
进行化简,然后调用高层化简模块进行化简。化简之后,若表达式形状发生了变化,则再次交替调用SIMPLY和高层化简模块进行化简,直到表达式的形状不再改变为止。
种类型。直观上看,一个表达式是由运算量(如常量、变量)和运算符(如+或*)组成的。在形式上系统函数和用户自定义是一样的,将它的归并为一类,将该类起名为Fnt.
一个符号表达式是
(空),或
一个数学意义下的常量,即常数或代表常数的文字),或
,数学意义下的变量),或
,如SIN(x)),或
,F(x)g(x)),或
),其元素是符号表达式,或
)它由两个都不是NIL的符号表达式(分别叫做左运算量和右运算量)和一个中缀运算符组成。这个中缀运算符可从是加(+)、减(-)、乘(*)、除(/)或求幂符号(^)等等。一元运算符化为二元运算符,其左运算是为NIL表达式,右运算量是非NIL表达式。
语言描述如下:
CaseKindN: Exprkind Names of
Nmbr:(Lng:I
CopyCount:Integer);
StorAttr:Boolean);
Fnt,EMF(FN,Pr:EPn:Interger);
Mtrx:(MN:EMtx:Materix);
Cmpst:(OP:O
Opnd1,Opnd2:Expressioln);
为该点的序数,变体部分的意义依符号表达式结点类型不同而不同。
,表示该结点为CASC3.0长整数。N为数指针。当N=NIL时,Lng为数本身。当N≠NIL时,Lng为数长度,Copycount表示该结点拷贝数。
表示该结点为变量类型,V为变量号,Attr为该变量的属性,Dpnd为依赖变量的依赖关系表指针,StorAttr=TRUE,表示变量为全局变量,否则为局部变量。
,表示该结点为用户自定义函数或系统函数类型,FN为函数名表达式结点(变量结点),Pr为参数表,参数表内各元素以算符联结,第一个参数离根最近。
表示该结点为初等数学函数类型,FN为初等函数名表达式结点(变量结点),Pr为参数。&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
,表示该结点为矩阵类型,MN为矩阵名表达式(变量结点),Mtx为矩阵类型。
表示该结点为复合类型,OP为运算符,Opnd1,Opnd2分别为左右运算量,为OP为一元算符时,Opnd1=NIL,Opnd2为运算量。
、/为乘型算符,称+、-为加型算符。
为取负算符。称~为负数的负号。
、A、U的树称为F树,F树实上是单因子树。
)的定义如下。
一棵表达式树T是一棵NET树;
是棵SF树,且每个参数或每个元素是一棵NET树;
是棵U树,且其右子树是NET树;
是棵M树,且其左子树是NET树,右子树是非M树的NET树;
是棵A树,且其左子树是NET树,右子对是非A树的NET树;
的根为算符^,MOD、DIV、!、逗号(,)、分号(;)且其左、右子树是NET时。
树的过程称为规范化。符号表达式输入时就进行规范化。且在处理后,符号表达式树均为规范化形式,即为规范表达式。
)/(B1+B2)+e^(X+LN(X))的NET树为
规定升序;
树E1和E2有E1〈〈E2,当且仅当E1中有因子X,E2中有因子Y,X〈〈Y,且E1中所有因子〈〈X;
树E1和E2有E1〈〈E2,当且仅当E1中有项X,E2中有项Y,X〈〈Y,且E1中所有项〈〈X;
树E1和A树E2有E1〈〈E2,当且仅当E2中有项X,使得E1〈〈X;
和E2有E1〈〈E2,当且仅当E1.KindN〈E2?KindN。
(X)为X的序数。为了定义序数,给各类符号表达式规定一个基数如下:
?Fnt=20000;
?Mtrx=32767
一个符号表达式E的序数递归定义为:
为Nmbr型表达式,则O(E)=B?Nmbr;
为Vbl型表达式,则
)=B?Vbl+(变量名首字符ASCII码-64)*26+ (变量名首字符ASCII码―
之间,如果变量只有一个字符,则上式的第3项用0代替。
(e)=991,O(Pi)=986, O(Const)=32766
O(Inf)=994,O(Minf)=993
是EMF类表达式,那么
(E的参数)≤10,则O(E)=10
(E的参数)〈999,
(E)=B?EMF+G(E)+O(E的参数)
(E)=G(G)+999
(E)的值由表1给出;
是Fnt类表达式,则
(E的参数)≤20,则O(E)=20
(E)=B.Fnt+(函数名的字符ASCII码―
项用,0数字代替。
是Mtrx类表达式,则O(E)=B.Mtrx;
是A或M树,则
)=MAX{O(Opnd1(E)),O(Opnd2(E))}其中,Opnd1(E)表示E的左运算量,Opnd2(E)表示E的右运算量;
是根为^算符的树,若E=E1^E2,则O(E)=O(E1)
(-E)=O(E),O(E!N)=O(E),其中E!N表示多阶乘E!!……!(N个!)
(E1rE2)=0, O(E1|E2)=0,其中,E1rE2表示既约分数E1/E2,E1|E2表示分数E1/E2。
G(E)的值
给初等级学函数表达式结点赋予序数,而对变量则在将其登入变量表时赋予序数。
比E2复杂,记为E1&E2,或E2〈〈E1。若E1与E2复杂程序相同,则记E1=E2。〉〉、〈〈和≡是一个全序关系。
E1与E2的复杂关系是
(E1)&O(E2),则E1&&E2;
(E1)&O(E2),则E1&&E2;
(E1)=O(E2),那么
)E1为数,E2必为数;反之亦然。此时 若E1&E2,则E1&&E2;
,则E1&&E2;
则E1≡E2;
的类型不同;
则E1&&E2;反之,E1&&E2;
)E1与E2类型相同:
、E2均为变量,则按变量名的字典序;
有E2之后,则E1&&E2;
在E2之前,则E1&&E2;
,则E1≡E2
为矩阵,E2必为矩阵。反之亦然,则E1=E2
为函数,E2必为同类函数(Fnt或EMF)那么,
和E2为同一函数时,E1与E2的复杂关系和E1与E2的参数相同;
和E2为不同函数时,若E1为Fnt类,则按函数名的字典序;若E1为EMF类,则E1和E2的复杂关系由G(E1)与G(E2)确定;
和E2均为复合式(下面用T、T1、T2表示单项,用F、F1、F2表示单因式)
形如-E时,
形如-E',则E1与E2复杂关系和E与E'的相同;否则若E=E2或E&&E2,则 E1&&E2;若E&&E2,则E1&&E2;
形如E1'OPE''时(其中OP为运算符逗号)
的根运算符不为逗号,则E1&&E2;否则设E2形如E2'OPE2'',
则 E1与E2的复杂关系和E1'与E2'的相同;
则E1&&E2;若E1''&&E2'',则E1&&E2;
和E2同为和式,分别形如E1'± T1,E2' ±T2那么若T1&&T2,则E1&&E2;若T1&&T2,则E1&&E2;
≡T2,则当T1与T2前的运算符相同时,E1与E2的复杂关系和E1'与E2'的相同;当T1前的运算符为减(-)时,E1&&E2;其它情况时,E1&&E2;
为多项(和式)形如E1' ±T1,E2不是多项时,
形如-E,那么,若T1=E 或T1&&E,则E1&&E2;
为积式,那么,若T1≡E2或T1&&E2,则E1&&E2
则E1&&E2;
形如E^P,那么
是和式中的单项时
≡E2或T1&&E2,则E1&&E2;
&&则E1&&E2;
是积式中的单因式时,
≡E或E1&&E,则E1&&E2;
则E1&&E2;
E和E2同为积式,分别形如E1'OP1F1和E2'OP2 F2 ,其中,OP1,OP2 ∈{*,/},那么
则E1&&E2,若F1&&F2,则E1&&E2;
则E1与E2的复杂关系和E1'与E2'的相同;
为积式,形如E1'OPF,其中OP∈{*,/},E2不是积式,那么如果E2形如-E,那么
或E1&&E,则E1&&E2;
为多项(和式)那么,
≡E2,或F&&E2,则E1&&E2;
形如E^P,那么
是和式中单项时,
≡E2,或F&&E2,则E1&&E2;
,则E1&&E2;
是积式中单因式时,
≡E或E1&&E,则E1&&E2
和E2均形如E^P时,
的底≡E2的底,则E1与E2的复杂关系和E1与E2指数的相同;
与E2的复杂关系和E1与E2底的相同;
不形如E^P,而E2形如E^P时,若E1=E2的底或E1&&E2的底,则E1&&E2;
的底,则E1&&E2;
和E2为阶乘时(分别记为E!N,E'!N'其中N,N'为阶乘符!的个数),那么
则E1&&E1;
则E1&&E2;
则E1与E2的复杂关系和E与E'的相同;
为阶乘E!N,E2不为阶乘时,E1与E2的复杂关系和E与E2的相同。
两个符号表达式E1和E2的关系函数
,E2)=&&& 0,当E1=E2 &&&&&(1)
(Sort by CR算法)依据子表达式之间的复杂的关系升序(&&)进行排序。
,A和B0,其中
……OPn En
,B},A=‘’‘―’‘’‘’
以及它们之前的算符,(必要时,添加1或运算符+或*)
←j+1;goto 3;
(Order AM 算法)将和式或积式排序
同形式, then
为根的子表达式树规范化,去掉括号得新表达式后E, E形如E0 OP1 E1 OP2 E2 ……OPn En
排序Ei*/ Order Expr(Ei) ;/*见算法3*/
以OPi为根的子表达式的序数就是Ei的序数*/
O)←O(Ei);
是加"+"then处理一元负;
(Order Expr算法)将任意符号表达式排序。
是Nmbr型,则O(E)=0;
是Vbl型,则不做什么;
是EMF型,那么
的参数);
O)=O(E的初等数学函数名)};
{,则O(E)=10;
参数的序数&999,则将O(E)加上参数的序数;
则将O(E)加上999;}}
是Fnt型,那么
{Order Expr(E
则O(E)=20};
的函名名的序数(进入到变量表时,按Fnt型表达式的序数定义求出);
是 Mtrx型,则Order Expr(E的每一个元素),并O(E)=32767;
是Cmpst型,那么
,则Order Expr(E的底);
Order Expr(E;O(E)=O(E的底),若E的底为数,则O(E)=3}
(E,‘’‘’
(E,‘’‘’
(既约分数),|(分数)或负号,则O(E)=0;
“”的运算量);
)=0(运算量);处理一元负}
表达式,则Order Expr(E的左运算量);
,O(E)=O(E的右运算量)}}
会将项内同类因子排在一起将同类项排在一起。但两个矩乘相乘时不会交换它们的次序,因为所有矩阵的序数相同。
和1化简,函数的特殊值处理,合并同类因式,合并同类项、三角函数的基本化简,阶乘运算,计算数表达式的值,以及完成数的开方运算等等。
记录一个表达式是否化简了,化简开始置SIMEST为TRUE,在对表达式化简的各个阶段,一旦作了变换,则量SEMEST为FALSE。化简的各阶段结束后,SEMEST=FALSE,则继续化简,否则退出化简。
(SIMPLY算法)将E进行核心化简。
经过核心化简的结果。
对E进行排序*/Order Expr(E)
进行各种化简:/*E的形状改变时都给SIMEST赋予FALSE。为节省篇幅略去*/
,则从E中去掉Ei;
则从E中去掉Ei;
>n,op∈{+,-,*/}
可以是整数或分数*/
!和n!!…!
的表达式化简:
和P化简,再作如下处理,
≠o,则a^o==>1;
则0^a==>0;
为偶数,则(-x)^n==>x^n
)^n==>-x^n
为奇数时,
为偶数,则(-x+y)^(n/m)= =>(x-y)^(n/m);
为奇数,则(-x+y)^(n/m)= =>-(x-y)^(n/m);
(1/6)==>2^ (1/3)
>f,e^(f*ln(g))= =>g^f;
)函数特殊值及特殊情形的处理:
>0,ln(e) = =>1,ln(e^f) = =>f
ln(f^g)= ==
>0, ch(0) = =>1,th(0)= =>0
∏/6,∏/4,∏/3,∏/2等16个特殊角度上的值,如sin(pi/2)= =&1,自变量为特殊值时反三角函数的值。此及
的处理,如
排序后,f1和f2为同类因式只有三种情况,设g为非指数型子表达式,则
则f= =&g^2;
则f= =g^(d+1);
则f= =&g^(d1+d2);
经排序后,f1和f2为同类项只有三种情形
则f= =&(n+1)*g;
则f= =&(n12)*g,其n12=n1+n2;
经排序后,有
则f= =&(1-n)*g
F= =&(n12)*g
规则和MATCH规则。前者是由LET语句定义的,后者是for all 语句定义的,LET规定形如:
均为表达式。l称为规则模式部分,r称为模式的替换式,若l为单项因子,则称之为单因子重写规则.如ex→y;若l为单项积式表达式,则称之为单项重写规则,如x*y→w,若l为和式,则称之为多项重写规则,如x+y→w,ELT规则中只包含称之为模式常量(又称符号常量)的运算量。
、r均为表达式。l,r中除包含模式常量外,还包含模式变量(又称符号变量),C是使用本规则时,l中模式变量应满足的条件。MATCH规则用for all 语句定义,如
为模式变量,n&o andfixp(n)为n应满足的条件。
集。MATCH规则构成另一个规则集MR集,重写化简系统表示为一个四元组:
、RS、LR、MR)
为表达式集,RS是将规则施加到E中元素的重写规则化简器操作。
(lr1,lr2…,lrk),E中元素x由LR重写(RS是指对x施加一系列的lri(i=1,2,…k)其中,将
,是指将x中l的每一次出现由r来代替。
…,mrn},E中元素x由MR重写(RS是指对x施加一系列mri)(i=1,2…n).其中,将
mri:&& lcond&& c
含有模式变量V1,V2,…Vp,并记 (U1:W1,…,Up:Wp)为完成将Ui,变换为Wi的操作,i=1,2,…p, o (U1:W1…Up:Wp).X为对X的操作结果。如果
(U1:W1,…,Up:Wp).l=x(2)
x为x或x中的子式。则x中每一个x 的出现,
当(U1:W1,…,Up,Wp).c=true
时,由(U1:W1,…,Up:Wp).r 代换
例如 有规则:
F(n)→n*f(n-n)cond r&0 and& fixp(n)
模式f(n)中含模式变量n,对于实例f(10)有 n:10,这时
(n:10).f(n)=f(10)
(n:10).n&0 and fixp(n)=10&0 and& fixp(10)=true 因此 f(10)由
(n:10).n*f(n-1)=10*f(9)代换.
这里的RS 关键操作是在x中寻找一个-x且匹配{……,up,wp}使得式(2)&&&& 成立,这一操式称为模式匹配。其中,ui:wi表示wi为ui的匹配值,i=1,2…p.
由上可知,任何模式常量仅与其自身匹配。
在CASC3.0,模式常量表现为全局变量或数,而模式变量表现为局部变量。
CASC3.0中将模式主构造符进行索引并模式匹配时,先对x施加LR规则。依据x的主构造符选取LR中相同主构造符的规划(索引),若不成功,再对x的子式作同样的处理,然后对LR.x施加MP规则。同样按LR.x的主构造索引和选取MR规则,重写结果为MR.LR.X,至此就完成一个RS操作,对X完成多个RS操作,由此简系统控制。
3.2LET规则重写算法
直观地,一个表达式X由规则
重写的意思是:如果x中含有规则lr的模式l,即
则将x重写为
x与l均为和式时,x1=N为数,这时的重写称为和替换; x和l均为积式时,x2=0,这一步x=lN*x1, x将重写为的rN*x1,这时的重写称为积替换;若lr为单因式规则,共重写是简单的。下面的算法PlusSub实现和替换,算法MDSub实现积替换
算法PlusSub的输入为r.l. x.其中l为和式,记作
l=l1op l2…opk-1lk,OP∈{+-},i=1,2,…k-1,X为和式。算法结束时输出施加规则l→R于x的结果(l→r).X,该算法调用布尔函数findlinx(X,li,Opi-1).它完成的工作是:若X中有项li且该项的数系数符号为Opi-1,则从X中减去一个li,并返回若X中无项li或该项的数系数符号不是Opi-1, 则X不变,返回false.
算法Plus sub 的思想是:对i=1,2…k在X中寻找li,若全部找到,则施加一次和替换,再对原X的剩余部分继续上述过程直至不可施加和替换为止;若未进行一次替换,则对X取负,即X← -X重做,并在结束时,将结果取负。
算法5& Plus sub 算法
输入:r,l,x
输出:(l→r).x
1、 /*置未取负标志*/ftag←
2、 k←l的项数;
3、 /*置替换次数,取X的副本*/
N←O;X ←X的副本;
4、 if x'的项数&k then goto 9;
5、 substed←fundlinX(x',l1,+);
7、 while (i≤k) and substed do
&&& Begin substed←findlinX(x',li, Opi-1);
&&&&&& i←i+1
8、if substed then begin N←N +1;goto 4
9、if N≥1 then
&& Begin 删除 X,X←N*r+x'
&&&&&&&&&& If flag then x←-x
&&&&&&&&&&&
11、if flag then return -x
12、x←-x,flag ←goto 3;
算法 MDSUB的输入为r,l ,X其中l为积式,记作
L=l1,OP,l2…OPr-1,lk,opi∈{*,/},i=1,2…,k-1,
X为积式,算法结束时输出施加规则l→r 于X的结果(l→r).X.该算法调用布尔函数 find linX1(x,li,opi-1);若X中含有因式li且该因式的符号为opi-1,则从X中除去一个li,并返回true,若X不含li或该因式的符号不是opi-1,则X不变,返回false.
算法6 MDsub 算法
输入:r,l,x
输出:(l→r),x
1、k←l 中单因式数;/*如X^2*Y^3,K=2*/
2、 /*置替换次数,取X的副本*/
&&&&&& N←O;X'←x的副本;
3、 if x'的单因式数&k then goto 8;
4、 substed←findlinX1(x',l1,*);
6. While(i≤k)and substed do
Begin substed←findlinX1(x,,li,OPi-1)
&&&&&&& i←i+1;
7、 if substed then begin N←N+1;goto 3
8、 if N≥1 then begin 删除X;X←rN*x,,end else 删除X,;
9、 return X;
算法7& LET规则重写算法 Apply LR.
输出:LR.X
1、按X的主构造索引检索LR中规则,若无规则,转步骤7;
2、若规则是单因式重写规则,调单因式规则重写算法,得新的X;/*因其简单而省略*/
3、若规则是单重写规则,调算法MDSub,得新的X;
4、若规则是多项重写规则,调算法PlusSUB,得新的X;
5、若2,3,4有一成功则返回X;
6、若该索引有下一规则,取之,再转步骤2;
7、若X有子式,则递归调用本算法对X的子式处理,得新的X。
8、返回X;
3.3 MATCH规则重写算法
MATCH规则与LET规则的是重要的区别是MATCH规则中含有模式变量。实现这类重写规则就是要为模式变量Vi寻找实例Wi(或称匹配值)。这是一个非常复杂的问题。实现细节烦琐。实现这类重写规则之关键是模式匹配。构造的模式匹配器的匹配功能越强,则MATCH规则化简功能也就越强。下面简述模式匹配器及MATCH重写规则算法。
模式匹配器PMATCHR,输入为P、R,其中P为规则的模式部分或其子式,R为实例(即待重写的表达式或其子式)。当P与R匹配成功时,返回true及{u1:w1,…,up:wp}且满足
(U1:W1,…,Up:Wp).P=R
若匹配不成功,则返回false。
PMATCHR采用的匹配方法是:
1、P为模式常量,则P只匹配其自身,即P=R时匹配成功:
2、P为模式变量。若P无匹配值,则将R作为其匹配值,匹配成功,获P:R;若已有匹配值,设P:PV,则当PV与R相等时区配成功,不等时匹配失败;
3、P为单重写规则的模式时,逐因式匹配,并实现交换律。对f/g 转换为f*1/g,若R的因式不够,则用1与模式因子匹配;
4、P为多项重写规则的模式时,逐项匹配,并实现交换律。对 f/g转换为f+(-g),若R的项不够,则用O与模式匹配;
5、P形如E1E2时
若R形如E3E4,则用E1与E3匹配,E2与E4匹配,如E2与E4匹配不成功,就用E1与E3E4/E2匹配;
若R不是以上形式,则E2与1匹配,E1与R匹配;
若R=1,则E2与O匹配或E1与E1匹配;
6、对多参数函数类的原则是,先使模式中模式变量参数与实例R的变量参数匹配,若这样的变量存在,称之为主模式变量和主变量,然后在它们的引导之下完成其它部分的匹配。举例说明如下:
设有 P=f(a*x+b,x),其中a,b,x均为模式变量,
R=f(c*y+d,y)
匹配过程是:先用x与y匹配,匹配成功,获得x:y,因y为变量,且x为模式变量,故y为主变量,x为主模式变量。以下的匹配过程中,将模式分离出与x相关部门和与x无关部分,同样将实例分离与y相部分和与y无关部分,再将与x相关部分和与y相部部分,与x无关部分和与y无关部分匹配。直观上,这种匹配是一种引导型匹配,通过主模式变量和主变量引导其它部分匹配,因此匹配准确率高,效率高,如上例:
由于模式为和式,按和式分离成两部分:a*x,b
实例也按和式分离成两部分:c*y,d
然后,①a*x和c*y匹配,因在引导之下,故
&&&&&&& 又将a*x按积式分离分a,x两部分,
&&&&&&& 同样c*y按积式分离成c,y两部分,
&&&&&& X和y匹配(由2可知成功),a和c匹配成功
&&&&&& 得a:c;
&&&&&& ②b和d匹配成功得b:d,
从面整个匹配成功,并有{x:y,a:c,b:d}
7、全局变量模式常量可作为主模式变量。
算法8 MATCH规则重写算法APPlyMR
输出:MR.X
1、按X的主构造符索引检索MR中规则。若无规则,转步骤8;
2、P←规则模式部分l;
3、if not PMATcHR(P,X)THEN goto6;
4、/*根据匹配值计算规则的条件*/
Cnd←(U1:W1,…,Up:Wp).C
5、 if cnd =true then return& (U1:W1,…,Up Wp).r;
6、 if P形如E1N1且X形如E2N2/*N1,N2均为数*/
&&&&&& Then
&&&&&&&&&&& Begin D←N2 Div N1;m←N2 Mod N1;
&&&&&&&&&&&&&&&&&&& If d ≠o then
&&&&&&&&&&&&&&&&&&&&&&& Begin
递归调用本算法对E2N1处理;
若成功,则return(MP?E2N1)D*E2
7、 若该索引有下一规则,取之转步骤2;
8、 若X有子式,则递归调用本算法对X的子式处理得新的X;
9、 return X;
Apply MR 算法可用于实现代换语句,可用于化简符号表达式。
参考文献:
1、衷仁保,计算机代有与符号计算机语言CASC3.0,
江西城市职业学院学报,第5期,2005.6
2、 衷仁保,符号计算语言 CASC3.0编译的系统结构,江西城市职业学院学报,第六期,2005.12
编 辑:宣传处
审 核:宣传处
江西省教育厅主管 联合国“朝阳计划”基地& 全国首批十所就业型大学 教育教学质量示范高校&全国促进公益事业优秀院校 全国就业实力示范民校 &
中国十大名牌民办大学 全国毕业生工薪前十强 省优秀学院&省十大品牌职校&地址:江西省南昌市新建联福大道001号&邮编:330100&网络中心扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
下载作业帮安装包
扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
写出在臭氧发生器中,O2转变为O3的文字表达式
小辣椒女王439
扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
文字表达式 氧气 ——臭氧发生器——> 臭氧化学方程式 3 O2 ==臭氧发生器== 2 O2
为您推荐:
其他类似问题
氧气(O2)==放电(臭氧发生器)==>臭氧(O3)
扫描下载二维码}

我要回帖

更多关于 文献检索表达式怎么写 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信