系统中一个程序结构如图5所示:
该程序有4条不同路径,分别为L1:a→c→e;L2:a→b→d;L3:a→b→e;L4:a→c→d。小王设计了4组测试用例:
①【(1,0,3),(1,0,4)】覆盖abe;【(2,1,1),(2,1,2)】覆盖abe;
②【(2,1,1),(2,1,2)】覆盖abe;【(3,0,3),(3,0,1)】覆盖acd;
③【(2,0,4),(2,0,3)】覆盖ace;【(1,0,3),(1,0,4)】覆盖abe;
【(2,1,1),(2,1,2)】覆盖abe;【(1,l,1),(1,1,1)】覆盖abd;
④【(2,0,4),(2,0,3)】覆盖ace;【(1,1,1),(1,1,1)】覆盖abd;
【(1,1,2),(1,1,3)】覆盖abe;【(3,0,3),(3,0,1)】覆盖acd;
这4组测试用例中 (5) 属于判定覆盖; (6) 属于条件覆盖; (7) 属于路径覆盖; (8) 属于条件组合覆盖(注:该题测试用例格式为【(A,B,X)输入,(A,B,X)输出】)。
(1)设射影平面上直线li的齐次坐标为,i=1,2,3并且l1≠l2,证明l1,l2,l3共点当且仅当存在不全为零的实数λ和μ使得
(2)写出第(1)题的对偶命题.
设O是上的通常点,l1,l2;l3,l4是共点于O的四条不同直线,证明(6.3.5)式.
●试题三
阅读下列函数说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
函数diff的功能是:根据两个由整数(都大于-32768)按升序构成的单链表L1和L2(分别由A,B指向)构造一个单链表L3(由*r指向),要求L3中的所有整数都是L1,并且不是L2中的整数,还要求L3中的所有整数都两两不等。
【函数】
#include<mallo
C.h>
typedef struct node{
int d;
struct node *next
}Node;
void diff(Node *A,Node *B,Node **r)
{
int lastnum;
Node*p;
*r=NULL;
if(!A)return;
while((1) )
if(A->d<B->d)
{
lastnum=A->d;
p=(Node*)malloc(sizeof(Node));
p->d=lastnum;
p->next=*r; (2) ;
do
A=A->next;
while((3) );
}
else if(A->d>B->d)
B=B->next;
else{
(4) ;
lastnum=A->d;
while (A && A->d==lastnum)A=A->next;
}
while(A)
{
lastnum=A->d;
p=(Node*)malloc(sizeof(Node));
p->d=lastnum;
(5) ;
*r=p;
while (A && A->d==lastnum) A=A->next;
}
}
阅读下列函数说明和C代码,将应填入(n)处的字句写在对应栏内。
【说明】
函数diff的功能是:根据两个由整数(都大于-32768)按升序构成的单链表L1和L2(分别由A,B指向)构造一个单链表L3(由*r指向),要求13中的所有整数都是L1,并且不是 L2中的整数,还要求L3中的所有整数都两两不等。
【函数】
include < malloc. h >
typedef struct node {
int d;
struct node * next
} Node;
void diff(Node *A,Node * B,Node * * r)
{
int lastnum;
Node * p;
*r = NULL;
if(! A) return;
while((1))
if(A->d < B ->d)
{
lastnum =A -> d;
p= (Node * ) malloc(sizeof(Node) );
p->d = lastnum;
p->next= *r;(2);
do
A = A -> next;
while((3));
}
else if(A->d > B->d)
B=B- >next;
else {
(4);
lastnum=A -> d;
while (A && A->d = = lastnum) A=A-> next;
}
while(A)
{
lastnum=A->d;
p=(Node * ) malloc(sizeof(Node) );
p-> d = lastnum;
(5);
*r=p;
while (A && A->d = = lastnum) A=A->next;
}
}