在使用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)。
第2题:
Excel2003中有许多内置的数字格式,当输入“56789”后,下列数字格式表述中,( )是正确的。
A.设置常规格式时,可显示为“56789”
B.设置使用千位分隔符的数值格式时,可显示为“56,789”
C.设置使用千位分隔符的数值格式时,可显示为“56,789.00”
D.设置使用千位分隔符的货币格式时,可显示为“$56,789.00”
第3题:
第4题:
第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题:
下列说法错误的是()。
第9题:
Number将参数转换成数值其返回值有哪几种情况()?
第10题:
在使用FX2N可编程序控制器控制磨床运行时,Y2和M0是()。
第11题:
第12题:
设置常规格式时,可显示为56789
设置使用千位分隔符的数值格式时,可显示为56,789
设置使用千位分隔符的数值格式时,可显示为56,789.00
设置使用千位分隔符的货币格式时,可显示为$56,789.00
第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题:
第15题:
第16题:
直线的3B代码编程,是以直线的起点为原点建立直角坐标系,X和Y为直线终点坐标(Xe,Ye)的绝对值。
第17题:
在利用3B代码编程加工斜线时,如果斜线的加工指令为L3,则该斜线与X轴正方向的夹角为()。
第18题:
火花线切割3B编程格式中,B表示分隔符,X表示X轴坐标的绝对值,Y表示Y轴坐标的绝对值,J表示加工线段计数长度,G表示加工线段计数方向,Z表示()。
第19题:
采用3B代码编程时,程序数值的单位为毫米。
第20题:
Revit明细表中的数值具有的格式选项为()
第21题:
VIN码中第一位是地理区域代码,代表亚洲的代码有()。
第22题:
可以将货币指定给数值
可以消除零和空格
较大的数字可以包含逗号作为分隔符
以上说法都对
第23题:
设置常规格式时,可显示为56789
设置使用千位分隔符的数值格式时,可显示为56,789
设置使用千位分隔符的数值格式时,可显示为56,789.00
设置使用千位分隔符的货币格式时,可显示为$56,789.00