niusouti.com
更多“文法G://S→xSx|y所识别的语言是()A、xyxB、(xyx)*C、xnyxn(n≥0)D、x*yx*”相关问题
  • 第1题:

    文法G[S]:S→xSx|y所描述的语言是______(n≥0)。

    A.(xyx)n

    B.xyxn

    C.xynx

    D.xnyxn


    正确答案:D
    解析:正规文法到正规式的转换规则如下:
     
      在本题中,推导过程如下:
      S->xSx->xyx->x2Sx2->x2yx2->
      x3Sx3->x3yx3->...->xnSxn->xnyxn
      得出生成式的规律是:两个x串中间只有一个y,同时两边的x串等长。

  • 第2题:

    考虑下述文法,S为开始符号 G1[S]:S→A A→aAb | ab G2[S] S→AA→aA |a| 下列结论中为真的是(28)。

    A.G1是LR(0)文法,G2不是LR(1)文法

    B.G2是LR(0)文法,G1不是LR(1)文法

    C.G2是LR(1)文法,G1不是LR(1)文法

    D.G1和G2都是LR(1)文法


    正确答案:A
    解析:因为G2存在句子aa,该句子有两棵不同的语法树,所以文法G2是二义性文法。二义性文法不是LR文法,所以B、C、D不正确。选A。

  • 第3题:

    阅读下列函数说明和C代码,填入(n)处。

    [说明]

    以下C语言程序实现了生成从里到外是连续的自然数排列的回旋矩阵,矩阵形式如下:

    7 6 5 16

    8 1 4 15

    9 2 3 14

    10 11 12 13

    程序的变量说明如下:

    x1:矩阵上边界;

    x2:矩阵下边界;

    y1:矩阵左边界;

    y2:矩阵右边界;

    s:数组元素升降标记,s等于1为升,s等于-1为降;

    a[]:存放矩阵元素的数组。

    仔细阅读C语言程序源码,将(n)处的语句补充完整。(注:每处仅一个语句)

    [C程序]

    include<stdio.h>

    void main ( )

    {

    const int N=20;

    int i=0,j=0,a[N][N],n;

    int m,x1,x2,y1,y2,s;

    while (1)

    {

    Printf ("\ninput matrix row N( N>=2): ");

    scanf ("%d",&n);

    printf ("\n");

    if (n>=2)

    break;

    }

    m=n*n;

    x1=0; y1=0; x2=n; y2=n;

    if(n%2==0)

    {j=n-1; y2=n-1; s=1;}

    else

    {i=n-1; y1=1; s=-1; }

    while (1)

    {

    if (s==1)

    {

    for (i; i<x2; i++) a[i][j]=m--;

    i--;

    j--;

    (1)

    for (j;j>=y1;j--) a[i][j]=m--;

    j++;

    i--;

    y1++;

    (2)

    }

    else

    {

    for (i;i>=x1;i--)

    a[i][j]=m--;

    i++;

    j++;

    (3)

    for (j;j<y2;j++)

    (4)

    (5)

    i++;

    (6)

    S=i;

    }

    if (m<1) break;

    }

    for (i=O;i<n; i++)

    {

    for (j=O;j<n;j++)

    printf ("%6d",a[i][j]);

    printf ("\n");

    }

    printf ("\n");

    }


    正确答案:(1)x2--; (2)s=-1; (3)x1++; (4)a[i][j]=m--; (5)j--; (6)y2--;
    (1)x2--; (2)s=-1; (3)x1++; (4)a[i][j]=m--; (5)j--; (6)y2--; 解析:自然数排列的回旋矩阵是一个经典程序设计题目。本题中生成的是一个从里到外是连续的自然数排列的回旋矩阵。仔细阅读代码,能够发现(1)处应该为矩阵下边界递减;(2)处应该为数组元素递减状态,即为降;(3)处应该为矩阵上边界递增;(4)处应该为存放矩阵元素的数组中的数据递减;(5)处应该为数组元素的列序号递减,即j--;(6)矩阵右边界递减。

  • 第4题:

    下列程序的运行结果是( )。 main { int x=1,y=3,a=0; while(x++!=(y-=l)) { a+=1; if(y<x)break; } printf("%d,%d,%d\n",x,y,a); }

    A.2,3,2

    B.2,3,1

    C.1,3,3

    D.3,1,2


    正确答案:D
    本题考查"drhile循环。第一次循环,y=y-1,y=2,循环条件成立,x=1,X++后值为1,x自加变成2,进入循环,a=a+1=1,判断if语句条件是否成立,y<x不成立,接着执行下一次循环。第二次循环,x=2,y-1=1,循环条件成立,进入循环,a=a+1=2,判断if语句的控制条件是否成立,y<X成立,执行break语句,退出循环。结果为D。

  • 第5题:

    己知某文法G[S]:S→0S0 S→1,从S推导出的符号串可用(21)(n≥0)描述。

    A.(010)n

    B.0n10n

    C.1n

    D.01n0


    正确答案:B
    解析:本题考查程序语言翻译基础知识。语言语法的一种表示法称为文法,常用的文法是上下文无关文法。一个上下文无关文法包含以下4个部分:
      ①一个记号集合,称为终结符集;
      ②一个非终结符号集合;
      ③一个产生式集合。每个产生式具有一个左部和右部,左部和右部由肩头连接,左部是一个非终结符,右部是记号和(或)非终结符序列;
      ④一个开始符号。开始符号是一个指定的非终结符。
      利用产生式产生句子的过程,是将产生式A→γ的右部代替文法符号序列αAβ中的A得到αγβ的过程,称为αAβ直接推导出αγβ仪丫p,记作:αAβαγβ。
      从S出发进行推导的过程可表示如下。

  • 第6题:

    已知文法G[S]:S→A0|B1,A→S1|1,B→S0|0,该文法属于乔姆斯基定义的(18)文法,它不能产生串(19)。

    语言L={ambn|m≥0,n≥1)的正规表达式是(20)。

    一个文法G=(N,T,P,S),其中N是非终结符号的集合,T是终结符号的集合,P是产生式集合,S是开始符号,令集合V=N∪T,那么G所描述的语言是(21)的集合。

    程序设计语言引入“类”的概念是为了解决数据保护问题。C++语言将类的成员封装在类体之中,使之具有一定的存取规则,这些规则规定了存取类的成员的权利,其中对于用Private说明的成员,它(22)。

    A.0型

    B.1型

    C.2型

    D.3型


    正确答案:D

  • 第7题:

    main( )

    { int x=31,y=2,s=0;

    do

    { s-=x*y;

    x+=2;

    y-=3;} while( x%3==0);

    printf(“x=%d\ty=%d\ts=%d\n”,x,y,s);

    }


    正确答案:
    2.x=35 y=-4 s=-29

  • 第8题:

    文法G[S]:S→xSx|y所描述的语言是()(n0)。

    • A、(xyx)n
    • B、xyxn
    • C、xynx
    • D、xnyxn

    正确答案:D

  • 第9题:

    程序N2G00G54G90G60X0Y0。 N4S600M3F300 N6G02X0Y0I25J0 N8M05 N10M02 加工出的工件圆心在工件坐标系中距离工件零点()。

    • A、x0
    • B、x25
    • C、x-25
    • D、x50

    正确答案:B

  • 第10题:

    程序N2G00G54G90G60X0Y0;N4S600M3F300;N6G02X0Y0125J0;N8M05;加工出的工件圆心在工件坐标中距离工件零点()。

    • A、0
    • B、25
    • C、–25
    • D、50

    正确答案:B

  • 第11题:

    若H01=10,执行指令N100G00Z50;N110G00G43YX20Y20Z0H01后,刀位点处于Z10处。


    正确答案:正确

  • 第12题:

    单选题
    文法G://S→xSx|y所识别的语言是()
    A

    xyx

    B

    (xyx)*

    C

    xnyxn(n≥0)

    D

    x*yx*


    正确答案: B
    解析: 暂无解析

  • 第13题:

    已知文法G定义为:S→WZ,W→X|Y,X→x|xX,Y→y|yY,Z→z|zZ,与该文法描述相同语言的正规表达式是哪个()。

    A.xx*|yy*|zz*

    B.(xx*|yy*)zz*

    C.xx*(yy*|zz*)

    D.(xx|yy)*zz*


    正确答案:B

  • 第14题:

    已知文法 G:S→WZW→X|YX→a|aXY→b|bYZ→c|cZ,G 定义的语言的相应正规式为() 。

    A.aa*|bb*|cc*

    B.(aa*|bb*)cc*

    C.aa*(bb*|cc*)

    D.(a|b|c)*


    正确答案:B

  • 第15题:

    已知文法G2=(VT={a,b},VN={S,A},S,P),其中P为, S→Sb|Ab A→aSb|ε 该文法生成的语言是(28)。

    A.{ambn|n>m≥0}

    B.{ambn|m>n≥0}

    C.{ambn|n≥m≥1}

    D.{ambn|m≥n≥1}


    正确答案:A
    解析:根据文法G2的产生式A→aSb|ε,用A的产生式推导出终结符号串,如果仅用A→ε,则产生{ε};如果先用若干次A→aSb推导,再用A→ε,则推导过程如下:因此,由A生成的终结符号集合是{ambm|m>0}。从S出发使用产生式S→Sb|Ab进行推导,或者。最后,L(G2)={ambm|m0}连接{bk|k>0}={ambm+k|m+k>m0}={ambn|n>m0}。

  • 第16题:

    下面程序的输出结果是main{ int x=3 ,y=6,a=0; while(x++!=(y-=1) ) { a+=1; if (y<x) break; } printf("x=%d,y=%d,a=%d\n",x,y,a);}A.x=4,y=4,a=1 B.x=5,y=5,a=1 C.x=5,y=4,a=1 D.x=5,y=4,a=3


    正确答案:C
    本题中x++中的x值应当是先引用,后自加,在此基础上,逐步将值带入程序中,即可得到正确的答案。

  • 第17题:

    已知某文法G[S]:S→0S0 S→1,从S推导出的符号串可用(21)(n≥0)描述。

    A.(010)n

    B.0n10n

    C.1n

    D.01n0


    正确答案:B
    解析:本题考查程序语言翻译基础知识。
      语言语法的一种表示法称为文法,常用的文法是上下文无关文法。
      一个上下文无关文法包含以下4个部分:
      ①一个记号集合,称为终结符集。
      ②一个非终结符号集合。
      ③一个产生式集合。每个产生式具有一个左部和右部,左部和右部由肩头连接,左部是一个非终结符,右部是记号和(或)非终结符序列。
      ④一个开始符号。开始符号是一个指定的非终结符。
      利用产生式产生句子的过程,是将产生式A→Y的右部代替文法符号序列αAβ中的A得到αγβ的过程,称为αAβ直接推导出αγβ,记作:αAβ=>αγβ。
      从S出发进行推导的过程可表示如下:
              S=>0S0=>00S00=>000S000=>... =>0n10n

  • 第18题:

    已知文法G1=(VT={a,b,d},VN={S,A,B},S,P),其中P为, S→dAB A→aA|a B→bB|ε 该文法生成的语言是(28)。

    A.{dambn|m≥0,n≥O}

    B.{dambn|m≥1,n≥0}

    C.{dambn|m≥0,n≥1}

    D.{dambn|m≥1,n≥1}


    正确答案:B
    解析:已知文法G=(VT,VN,S,P),它所产生的语言定义如下:若有S(11)w,则称w是文法G的一个句型。仅含终结符的句型是一个句子。语言L(G)是由文法G产生的所有句子组成的集合:L(G)={w|Sw且w∈VT*}推导的定义如下:设文法G=(VT,VN,S,P),A→β∈P,γ,δ∈V*,则稀γAδ直接推导出γβδ,表示成这个定义告诉我们,若知道γAδ∈V*,根据A→β∈,可求出γβδ∈V*,方法是用A→β的右部β替换γAδ中的A得到γβδ;相反,若知道γβδ∈V*,根据A→β∈P,可求出γAδ∈V*,方法是用A→p的左部A替换γβδ中的β得到γAδ。若存在一个推导序列:,则称从a0经n步推导出an,表示成根据文法G1的第1条规则S→dAB知道,文法G1产生的句子的第1个字符是d,后跟着由A产生的终结字符串,再后边跟着由B产生的终结字符串。根据文法G1的第2条规则A→aA|a知道,由A产生的终结字符串是{am|m1};根据B的规则B→bB|ε知道,由B产生的终结字符串是{bn|0}。因此,L(G1)={dambn|m1,n0}。

  • 第19题:

    以下不正确的if语句形式是()

    • A、if(x>y&&x!=y);
    • B、if(x==y)x+=y;
    • C、if(x!=y){x=2;y=3;}else{x=0;y=0;}
    • D、if(x<y){x++;y++;}

    正确答案:A

  • 第20题:

    程序N2G00G54G90G60X0Y0 N4S600M3F300 N6G02X0Y0I0J-25 N8M05 N10M02 加工出工件的圆心在工件坐标系中距离工件零点()。

    • A、X25
    • B、X-25
    • C、Y-25
    • D、Y25

    正确答案:C

  • 第21题:

    以下程序段()肯定是错的。

    • A、N004 G90 G00 X20
    • B、N006 G01 G02 X0 Y0 I-20 J0
    • C、N008 X-20 Y0 I0 J-20 F100
    • D、N010 X0 Y-20 I20 J0

    正确答案:B

  • 第22题:

    下面程序中,N22语句可以由()代替。 … N20 G90 G0l X20.5 Y6.0 F250.0 N22 G02 X0 Y16.0 I—30.0 J—40.0 …

    • A、N22 G02 X0 Y16.0 R—50.0
    • B、N22 G02 X0 Y16.0 R50.0
    • C、N22 G02 X0 Y16.0 R—70.0
    • D、N22 G02 X0 Y16.0 R70.0

    正确答案:A

  • 第23题:

    单选题
    文法G[S]:S→xSx|y所描述的语言是()(n0)。
    A

    (xyx)n

    B

    xyxn

    C

    xynx

    D

    xnyxn


    正确答案: D
    解析: 暂无解析