[问题]
填充状态转换矩阵中的 ①~⑦,把相应的操作序列写在答卷的对应栏内。回答时可使用如下形式的操作:
if 条件 then 操作1 else 操作2;
或 if 条件 then操作;
[流程图]
试题5
阅读下列说明和流程图,回答问题,把解答写在答卷的对应栏内。
[说明]
本流程图描述了某子程序的处理流程,现要求用白盒测试法对其进行测试。
[流程图]
[问题]
根据判定覆盖、条件覆盖、判定/条件覆盖、多重条件覆盖(条件组合覆盖)、路径覆盖等 5 种覆盖标准,从供选择的答案中分别找出满足相应覆盖标准的最小的测试数据组(用 ①~⑩ 回答)。
供选择的答案
① x=90,y=90 | ② x=50,y=50 |
③ x=90,y=90 x=50,y=50 |
④ x=90,y=70 x=40,y=90 |
⑤ x=90,y=90 x=50,y=50 x=90,y=70 |
⑥ x=90,y=70 x=70,y=90 x=50,y=50 |
⑦ x=90,y=90 x=50,y=50 x=90,y=70 x=70,y=90 |
⑧ x=90,y=90 x=50,y=50 x=90,y=50 x=80,y=80 |
⑨ x=90,y=90 x=90,y=70 x=90,y=30 x=70,y=90 x=30,y:90 x=70,y=70 x=50,y=50
|
⑩ x=90,y=90 x=80,y=80 x=90,y=70 x=90,y=30 x=70,y=90 x=30,y=90 x=70,y=70 x=50,y=50 |
试题6
在 COMET 型计算机上可以使用试卷上所附的 CASL 汇编语言。阅读下列程序说明和 CASL 程序,把应填入程序中__(n)__处的字句,写在答卷的对应栏内。
[程序说明]
本程序是按某种规律自动生成 16×16 单色点阵图形。点阵图形中每行 16 点的信息排列在一个存储字中,16X16 点阵图形可以用连续的 16个存储字来表示。
程序中标号为 PTN 开始的 16 个存储字连续存放自动生成的 16×16 点阵图形,点阵图形中的第一行作为已知数据给定,其余 15 行按下述规则自动生成:
1.每个存储字的第 0 位和第 15 位(即边界点)恒为 0 。
2.一个存储字的第 n 位值 (0<n<15) 取决于前一存储字的第 (n-1) 位和第 (n+1) 位的值是否相同。若这两位的值相同,则第 n 位为 0;否则为 1。
例如,点阵图形第一行的存储字内容为 #35B4,按上述规则生成点阵图形第二行的存储字内容为 #71B2,余类推。
0 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | #35B4 |
0 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | #71B2 |
0 |
········ |
0 | ········ |
[程序]
START | |||
LEA | GRl,0 | ||
LD | GR0,PTN,GRl | ||
LOOP | SLL | GR0,2 | |
__(1)__ | |||
__(2)__ | |||
__(3)__ | |||
LEA | __(4)__ | ||
__(5)__ | |||
LEA | GR2,-15,GRl | ||
JMI | LOOP | ||
EXIT | |||
PTN | DC | #35B4 | |
DS | 15 | ||
END |
试题7
阅读下列程序说明和C程序,将应填入程序中__(n)__处的字句,写在答卷纸的对应栏内。
[程序说明]
本程序用回溯算法来产生由 0 或 1 组成的 2m个二进位串,使该串满足以下要求。 视串为首尾相连的环,则由 m 位二进制数字组成的2m 个子序列,每个可能的子序列都互不相同。例如,如果 m=3,在串 11101000 首尾相连构成的环中,由 3 位二进制数字组成的每个可能的子序列都在环中恰好出现一次,它们依次是111,110,101,010,100,000,001,011(见右图)。 |
[程序]
#define N l024
#define M 10
int b[N+M-1]
int equal( int k,int j,int m)
{ int i;
for ( i=0;i<m;i++ )
if ( b[ k + i] __(1)__ ) return 0;
return 1;
}
int exchange ( int k, int m , int v)
while ( b[ k + m - 1 ) == v )
{ b[ k+m-l]=! v __(2)__;}
__(3)__=v; return k;
init ( int v)
{ int k
for( k = 0 ; K = N + M - 1; k++) b[k] = v;
}
main ( )
{ int m,v,k,n,j;
printf ('Enter m( l<m<10) ,v( v=0,v=1 )\ n" );
scanf (" %d%d ,&m,&v);
n = 0x01 << ms init(!v); k=0;
while( __(4)__ < n)
for (j=0;j<k;j++)
if (equal(k,j,m))
{ k=exchange(k,m,v);
j=__(5)__;
}
for(k= 0 ;k<n ;k++ ) print{(" %d\ n" ,b[k]);
}
答案
试题一
[问题1]
(1)输入基层单位上报的数据,并进行合法性检查。
(2)用指标代码替换指标名称,形成月数据文件。
[问题2]
指标代码,产值
[问题3]
(1)减少文件的存储容量;
(2)提高检索及处理速度;
(3)修改指标体系时只须修改指标体系文件,而不必修改处理程序,便于维护。
试题二
[问题1]
① K:01
② K+1→t
③ t-q+1→r 或 K+2-q→r
④ r:1
⑤ b:a
[问题2]
③ t+q-1→r 或 K+q→r
④ m:r
试题三
[问题1]
① A(I,2):K-B(NB,2)A(I,2)+B(NB,2):K
② K-A(I,2)→IB 或 K-IA→IB
③ B(J,2):IB
④ S:0
⑤ NC+1→NC
[问题2]
不能,因为当J=1且B(1,2)<IB时将因J=0而终止循环,从而导致中B(J,2)的下标J超出数组下标范围。
试题四
① 2→state
② 2→state
③ 3→state
④ 7→state
⑤ n-1→n;if n≥0 then 5→state else 7→state
⑥ if n=0 then 6→state else 7→state
⑦ if s(i-1:i)="* *" and s(i-2:i-2)≠"*" then 3→state
试题五
判定覆盖 | ⑤ |
条件覆盖 | ④ |
判定/条件覆盖 | ⑦ |
多重条件覆盖 | ⑨ |
路径覆盖 | ⑤ |
试题六
(1)EOR | GR0,PTN,GR1 |
(2)SRL | GR0,2 |
(3)SLL | GR0,1 |
(4) | GR1,1,GR1 |
(5)ST | GR0,PTN,GR1 |
试题七
(1) !=b[j+1]
(2) k-- 或 --k 或 k=k-1 或 k-=1
(3) b[k+m-1]
(4) ++k 或 (k=k+1) 或 (k+=1)
(5) -1
- 推荐给朋友
- 收藏此页
·2008年下半年软考信息系统项目管理师试题(下午II) (2008-12-21 22:39:30)
·2008年下半年计算机软考网络工程师试题(下午) (2008-12-21 22:26:13)
·2008下半年软考系统分析师考试试题(下午)II (2008-12-21 22:20:49)
·2008年下半年计算机软考程序员试题(下午) (2008-12-21 22:18:18)
·2008年下半年计算机软考程序员试题(上午) (2008-12-21 22:11:38)