更多“在使用3B代码编程中,B称为分隔符,它的作用是将X、Y、J的数值分隔开,如果B后的数字为0,则O可以省略不写。”相关问题
  • 第1题:

    阅读以下说明和算法,完善算法并回答问题,将解答写在对应栏内。

    [说明]

    假设以二维数组G[1..m,1..n]表示一幅图像各像素的颜色,则G[i,j]表示区域中点(i,j]处的颜色,颜色值为0到k的整数。

    下面的算法将指定点(i0,j0)所在的同色邻接区域的颜色置换为给定的颜色值。约定所有与点(i0,j0)同色的上、下、左、右可连通的点组成同色邻接区域。

    例如,一幅8×9像素的图像如图1-1所示。设用户指定点(3,5),其颜色值为0,此时其上方(2,5)、下方(4,5)、右方(3,6)邻接点的颜色值都为0,因此这些点属于点(3,5)所在的同色邻接区域,再从上、下、左、右四个方向进行扩展,可得出该同色邻接区域的其他点(见图1-1中的阴影部分)。将上述同色区域的颜色替换为颜色值7所得的新图像如图1-2所示。

    [算法]

    输入:矩阵G,点的坐标(i0,j0),新颜色值newcolor。

    输出:点(i0,j0)所在同色邻接区域的颜色置换为newcolor之后的矩阵G。

    算法步骤(为规范算法,规定该算法只在第七步后结束):

    第一步:若点(i0,j0)的颜色值与新颜色值newcolor相同,则(1);

    第二步:点(i0,j0)的颜色值→oldcolor;创建栈S,并将点坐标(i0,j0)入栈;

    第三步:若(2),则转第七步;

    第四步:栈顶元素出栈→(x,y),并(3);

    第五步:

    1) 若点(x,y-1)在图像中且G[x,y-1]等于oldcolor,则(x,y-1)入栈S;

    2) 若点(x,y+1)在图像中且G[x,y+1]等于oldcolor,则(x,y+1)入栈S;

    3) 若点(x-1,y)在图像中且G[x-1,y]等于oldcolor,则(x-1,y)入栈S;

    4) 若点(x+1,y)在图像中且G[x+1,y)等于oldcolor,则(x+1,y)入栈S:

    第六步:转(4);

    第七步:算法结束。

    [问题]

    是否可以将算法中的栈换成队列?回答:(5)。


    正确答案:(1)转第七步;(2)栈为空;(3)newcolor→G[xy];(4)转第三步;(5)可以
    (1)转第七步;(2)栈为空;(3)newcolor→G[x,y];(4)转第三步;(5)可以

  • 第2题:

    Excel2003中有许多内置的数字格式,当输入“56789”后,下列数字格式表述中,( )是正确的。

    A.设置常规格式时,可显示为“56789”

    B.设置使用千位分隔符的数值格式时,可显示为“56,789”

    C.设置使用千位分隔符的数值格式时,可显示为“56,789.00”

    D.设置使用千位分隔符的货币格式时,可显示为“$56,789.00”


    正确答案:ABCD

  • 第3题:

    一平面通过两点M1(1,1,1),M2(0,1,-1),且垂直于平面x+y+z=0,则它的方程为( )。

    A.2x+y-z=0
    B.2x-y+z=0
    C.x-y-z=0
    D.2x-y-z=O

    答案:D
    解析:
    设所求平面的法向量为n=(A,B,C),利用已知即可得出解

  • 第4题:

    阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。
    【说明】 模式匹配是指给定主串t和子串s,在主串t中寻找子串s的过程,其中s称为模式。如果匹配成功,返回s在t中的位置,否则返回-1 。
    KMP算法用next数组对匹配过程进行了优化。KMP算法的伪代码描述如下: 1.在串t和串s中,分别设比较的起始下标i=j=0。 2.如果串t和串s都还有字符,则循环执行下列操作: (1)如果j=-l或者t[i]=s[j],则将i和j分别加1,继续比较t和s的下一个字符; (2)否则,将j向右滑动到next[j]的位置,即j =next[j]。 3.如果s中所有字符均已比较完毕,则返回匹配的起始位置(从1开始);否则返回-1. 其中,next数组根据子串s求解。求解next数组的代码已由get_next函数给出。【C代码】
    (1)常量和变量说明
    t,s:长度为悯铂Is的字符串
    next:next数组,长度为Is
    (2)C程序
    #include
    #include
    #include
    /*求next[]的值*/
    void get_next( int *next, char *s, int Is)
    {
    int i=0,j=-1;
    next[0]=-1;/*初始化next[0]*/
    while(i < ls){/*还有字符*/
    if(j==-1l
    ls[i]==s[j]){/*匹配*/
    j++;
    i++;
    if( s[i]==s[j])
    next[i]
    = next[j];
    else
    Next[i]
    = j;
    }
    else
    j = next[j];
    }
    }
    int kmp( int *next, char *t ,char *s, int
    lt, int Is )
    {
    Int i=
    0,j =0 ;
    while
    (i < lt && (1) ){
    if(
    j==-1 || (2) ){
    i
    ++ ;
    j
    ++ ;
    }
    else
    (3) ;
    }
    if (j >= ls)
    return (4) ;
    else
    return -1;
    } 【问题1】(8分)
    根据题干说明,填充C代码中的空(1)~(4).
    【问题2】(2分)
    根据题干说明和C代码,分析出kmp算法的时间复杂度为(5)(主串和子串的长度分别为It和Is,用O符号表示)。
    【问题3】(5分)
    根据C代码,字符串“BBABBCAC”的next数组元素值为(6)(直接写素值,之间用逗号隔开)。若主串为“AABBCBBABBCACCD”,子串为“BBABBCAC”,则函数Kmp的返回值是(7)。


    答案:
    解析:
    【问题1】(8分)答:(1):j
    【问题2】(2分)答:(5)O(ls+lt)

    【问题3】(5分)答:(6)[-1, -1,1, -1, -1, 2, 0, 0](7)6

  • 第5题:

    快走丝线切割机床主要使用3B代码编程,也可以使用G代码编程。


    正确答案:正确

  • 第6题:

    如果X→Y,但Y不包含于X,则称X→Y是()的函数依赖。 如果X→Y,则X称作()。 如果K是关系模式R(U,F)的任一候选关键字,X是任一属性或属性集,如果X∈K,则X称为();否则称为()。


    正确答案:非平凡;决定因素;主属性;非主属性

  • 第7题:

    如果连续的两个程序段中都有G80指令,则后一个程序段中的G80可以省略不写(华中系统)。


    正确答案:正确

  • 第8题:

    下列说法错误的是()。

    • A、使用I、J、K方式可以编制任意的圆弧插补程序。
    • B、当使用I、J、K方式编制圆弧插补程序时,I、J、K的正负表示圆心相对圆弧起点的矢量方向。
    • C、当使用I、J、K方式编制圆弧插补程序时,I、J、K指的是圆弧的圆心坐标
    • D、当使用I、J、K方式编制圆弧插补程序时,当I、J、K的值为0时,可以省略不写。

    正确答案:C

  • 第9题:

    Number将参数转换成数值其返回值有哪几种情况()?

    • A、如果X为一数字,则返回值为该数字
    • B、如果X为一布尔数,则返回0或1
    • C、如果X为一字符串,则函数将X解释为一个指数形式的十进制数
    • D、如果X未定义,则返回0

    正确答案:A,B,C,D

  • 第10题:

    在使用FX2N可编程序控制器控制磨床运行时,Y2和M0是()。

    • A、双线圈
    • B、可以省略的
    • C、并联输出
    • D、串联输出

    正确答案:C

  • 第11题:

    填空题
    如果X→Y,但Y不包含于X,则称X→Y是()的函数依赖。 如果X→Y,则X称作()。 如果K是关系模式R(U,F)的任一候选关键字,X是任一属性或属性集,如果X∈K,则X称为();否则称为()。

    正确答案: 非平凡,决定因素,主属性,非主属性
    解析: 暂无解析

  • 第12题:

    多选题
    Excel 2013中有许多内置的数字格式,当输入“56789”,下列数字格式表述中,()是正确的。
    A

    设置常规格式时,可显示为56789

    B

    设置使用千位分隔符的数值格式时,可显示为56,789

    C

    设置使用千位分隔符的数值格式时,可显示为56,789.00

    D

    设置使用千位分隔符的货币格式时,可显示为$56,789.00


    正确答案: A,B
    解析: 本题四个选项都正确。

  • 第13题:

    试题四(共15分)

    阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。

    【说明】

    模式匹配是指给定主串t和子串s,在主串t中寻找子串s的过程,其中s称为模式。

    如果匹配成功,返回s在t中的位置,否则返回-1 。

    KMP算法用next数组对匹配过程进行了优化。KMP算法的伪代码描述如下:

    1.在串t和串s中,分别设比较的起始下标i=J=O

    2.如果串t和串s都还有字符,则循环执行下列操作:

    (1)如果j=-l或者t[i]-s[j],则将i和j分别加1,继续比较t和s的下一个字符;

    (2)否则,将j向右滑动到next[j]的位置,即j =next[J]

    3.如果s中所有字符均已比较完毕,则返回匹配的起始位置(从1开始);否则返回一1.

    其中,next数组根据子串s求解。求解next数组的代码已由get_next函数给出。

    【C代码】

    (1)常量和变量说明

    t,s:长度为悯铂Is的字符串

    next:next数组,长度为Is

    (2)C程序

    include <stdio.h>

    nclude <stdliB.h>

    include <string.h>

    /*求next【】的值*/

    void get_next( int *next, char *s, int Is) {

    int i=0,j=-1;

    next[0]=-1;/*初始化next[0]*/

    while(i< ils){/*还有字符*/

    if(j=-1l ls[i]=s[j]){/*匹配*/

    j++;

    i++;

    if( s[i]一s[jl)

    next [i]- next[j];

    else

    Next[i]=j;

    }

    else

    J= next[j];

    }

    }

    int kmp( int *next, char *t ,char *s, int.lt, int Is )

    {

    inti= 0,j =0 ;

    while (i<lt && ( 1 ) {

    if( j=-1 II 2_) {

    i++ ;

    j ++ ;

    } else

    (3) :

    }

    if (j>= ls)

    Retum (4)

    else .

    retum-1;

    【问题1】(8分)

    根据题干说明,填充C代码中的空(1)~(4).

    【问题2】(2分)

    根据题干说明和C代码,分析出kmp算法的时间复杂度为 (5)(主串和子的长度分别为It和Is,用O符号表示)。

    【问题3】(5分)

    根据C代码,字符串“BBABBCAC”的next数组元素值为 (6) (直接写素值,之间用逗号隔开)。若主串为“AABBCBBABBCACCD”,子串为“BBABBCAC则函数Kmp的返回值是 (7)


    正确答案:

  • 第14题:

    阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。
    【说明】
    模式匹配是指给定主串t和子串s,在主串t中寻找子串s的过程,其中s称为模式。如果匹配成功,返回s在t中的位置,否则返回-1。
    KMP算法用next数组对匹配过程进行了优化。KMP算法的伪代码描述如下:
    1.在串t和串s中,分别设比较的起始下标i=j=0。
    2.如果串t和串s都还有字符,则循环执行下列操作:
    (1)如果j=-l或者t[i]=s[j],则将i和j分别加1,继续比较t和s的下一个字符;
    (2)否则,将j向右滑动到next[j]的位置,即j =next[j]。
    3.如果s中所有字符均已比较完毕,则返回匹配的起始位置(从1开始);否则返回-1。
    其中,next数组根据子串s求解。求解next数组的代码已由get_next函数给出。
    【C代码】
    (1)常量和变量说明
    t,s:长度为lt和ls的字符串
    next:next数组,长度为ls
    (2)C程序

    #include #include#include/*求next[]的值*/void get_next( int*next, char *s, int ls) { inti=0,j=-1; next[0]=-1;/*初始化next[0]*/ while(i< ls){/*还有字符*/ if(j==-1lls[i]==s[j]){/*匹配*/ j++; i++; if(s[i]==s[j]) next[i]= next[j]; else Next[i]= j; }else j = next[j]; }} int kmp( int*next, char *t ,char *s, int lt, int ls ) { Inti= 0,j =0 ; while(i < lt && (1) ){ if(j==-1 || (2) ){ i++ ; j++ ; }else (3) ;}if (j >= ls)return (4) ;else return-1;}

    【问题1】(8分)
    根据题干说明,填充C代码中的空(1)~(4).
    【问题2】(2分)
    根据题干说明和C代码,分析出kmp算法的时间复杂度为(5)(主串和子串的长度分别为It和Is,用O符号表示)。
    【问题3】(5分)
    根据C代码,字符串"BBABBCAC"的next数组元素值为(6)(直接写素值,之间用逗号隔开)。若主串为"AABBCBBABBCACCD",子串为"BBABBCAC",则函数Kmp的返回值是(7)。


    答案:
    解析:
    【问题1】
    (1):j (2):t[i]==s[j];
    (3):get_next(next, s, ls);
    j=next[j];
    (4):i+1-ls;
    【问题2】(2分)
    (5)O(ls+lt)
    【问题3】
    (6)[-1, -1,1, -1, -1, 2, 0, 0],
    (7)6

  • 第15题:

    阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。
    【说明】 计算两个字符串x和y的最长公共子串(Longest Common Substring)。 假设字符串x和字符串y的长度分别为m和n,用数组c的元素c[i][j]记录x中前i个字符和y中前j个字符的最长公共子串的长度。c[i][j]满足最优子结构,其递归定义为:




    计算所有c[i][j](0 ≤i ≤ m,0 ≤j ≤ n)的值,值最大的c[i][j]即为字符串x和y的最长公共子串的长度。根据该长度即i和j,确定一个最长公共子串。【C代码】(1)常量和变量说明 x,y:长度分别为m和n的字符串 c[i][j]:记录x中前i个字符和y中前j个字符的最长公共子串的长度 max:x和y的最长公共子串的长度 maxi, maXj:分别表示x和y的某个最长公共子串的最后一个字符在x和y中的位置(序号) (2)C程序#include
    < stdio.h>#include
    < string.h>int c[50][50];int maxi;int maxj;int lcs(char
    *x, int m, char *y, int n) { int i, j; int max= 0; maxi= 0; maxj = 0;for ( i=0;
    i < =m ; i++) c[i][0] = 0;for (i =1;
    i < = n; i++) c[0][i]=0;for (i =1;
    i < = m; i++) { for (j=1; j < = n; j++) { if (
    (1) ) {c[i][j] = c[i
    -1][j -1] + 1;if(max < c[i][j])
    { (2)
    ; maxi = i; maxj =j; }}else (3)
    ; } } return max;}void
    printLCS(int max, char *x) { int i= 0; if (max == 0) return; for (
    (4) ; i < maxi; i++)printf("%c",x[i]);}void main( ){ char* x= "ABCADAB"; char*y= "BDCABA"; int max= 0; int m = strlen(x); int n = strlen(y); max=lcs(x,m,y,n); printLCS(max , x);}
    【问题1】(8分)
    根据以上说明和C代码,填充C代码中的空(1)~(4)。
    【问题2】(4分)
    根据题干说明和以上C代码,算法采用了 (5) 设计策略。
    分析时间复杂度为 (6) (用O符号表示)。
    【问题3】(3分)
    根据题干说明和以上C代码,输入字符串x= "ABCADAB’,'y="BDCABA",则输出为 (7) 。


    答案:
    解析:
    【问题1】(8分)答案:(1)x[i-1]= =y[j-1] (2)max=c[i][j](3)c[i][j]=0 (4)i=maxi-max

    【问题2】(4分)答案:动态规划、 O(m×n)或O(mn)

    【问题3】(3分)答案:AB根据题干和C代码,计算出下表的值。



    最大值为2。在计算过程中,我们记录第一个最大值,即表中阴影部分元素,因此得到最长公共子串为AB。

  • 第16题:

    直线的3B代码编程,是以直线的起点为原点建立直角坐标系,X和Y为直线终点坐标(Xe,Ye)的绝对值。


    正确答案:正确

  • 第17题:

    在利用3B代码编程加工斜线时,如果斜线的加工指令为L3,则该斜线与X轴正方向的夹角为()。

    • A、180ºB、180ºC、180º≤a<270º
    • B、180º≤a≤270º

    正确答案:C

  • 第18题:

    火花线切割3B编程格式中,B表示分隔符,X表示X轴坐标的绝对值,Y表示Y轴坐标的绝对值,J表示加工线段计数长度,G表示加工线段计数方向,Z表示()。


    正确答案:加工指令

  • 第19题:

    采用3B代码编程时,程序数值的单位为毫米。


    正确答案:错误

  • 第20题:

    Revit明细表中的数值具有的格式选项为()

    • A、可以将货币指定给数值
    • B、可以消除零和空格
    • C、较大的数字可以包含逗号作为分隔符
    • D、以上说法都对

    正确答案:D

  • 第21题:

    VIN码中第一位是地理区域代码,代表亚洲的代码有()。

    • A、J,K,Q
    • B、L,M,R
    • C、N,O,P
    • D、X,Y,Z

    正确答案:A,B,C

  • 第22题:

    单选题
    Revit明细表中的数值具有的格式选项为()
    A

    可以将货币指定给数值

    B

    可以消除零和空格

    C

    较大的数字可以包含逗号作为分隔符

    D

    以上说法都对


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

  • 第23题:

    多选题
    Excel中有许多内置的数字格式,当输入“56789”后,下列数字格式表述中,()是正确的。
    A

    设置常规格式时,可显示为56789

    B

    设置使用千位分隔符的数值格式时,可显示为56,789

    C

    设置使用千位分隔符的数值格式时,可显示为56,789.00

    D

    设置使用千位分隔符的货币格式时,可显示为$56,789.00


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