02365计算机软件基础,02365-计算机软件基础(二).doc

文档介绍:

计算机软件基础(二)

1.设有一个要被测试的源程序如下:

float ex ample (A,B,X)

float A,B,X;

{

if(A>1&&B==0)

X=X/A;

if(A==2||X>1)

X=X+1;

return X;

}

试设计测试用例,满足条件覆盖准则。

2. 为一个医院的医务管理系统设计一个实体模型,这一系统涉及三个实体集:DOCTOR(医生)、PATIENT(病人)和TREATMENT(处方)。

DOCTOR具有属性:DOC#(医生编号),DNAME(医生姓名)等。

PATIENT具有属性:PAT#(病人号),PNAME(病人名)等。

TREATMENT具有属性:TRE#(处方号),TDATE(处方日期)等。

一个医生负责诊断若干病人,并为病人开处方,病人在住院期间应由一个医生作为其主治医生,并由该医生开处方。一个处方只针对一个病人开出,但一个病人可以有多个处方。要求在实体模型中画出实体、实体间的联系,实体的属性及联系的类型。

3.顺序存储的线性表为v是长度为M的一维数组,线性表的表长保存在变量n之中,函数deletelist是删除第i个数据元素,有关定义用C语言表示如下:

#define M 1000

int v[M];

int n;

int deletelist(int i)

请给出完成删除第i个数据元素的函数的完整代码。

4.设数据元素的类型是整型的,循环队列的出队算法的部分描述如下:

#define M 100

int q[M],front,rear;

int delq(int x)

{if (front ==rear)

{printf(“empty queuer!\n”);

return(-1);

}

}

请完成循环队列出队的完整算法。

5.利用以下代码完成顺序栈的进栈算法。

#define M 100

int v[M],top;

int push( int x)

{if (top>=M-1)

{printf(“stack is full!\n”);

return(-1);

}

}

6.利用以下代码完成完成冒泡排序的算法。

#define M 500

typedef struct {int key;char info;} NODE;

NODE r[M];

Bubblersort(NODE r[],int n)

{int i,j,k;

j=n-1

k=1;

while((j>0)&&(k>0))

{k=0;

for(i=1;i<=j;i++)

if (r[i+1].key

k=1;

j--;

}

}

7.已知关系R如下表:

A

B

C

1

1

2

1

1

2

1

2

1

S如下表:

A

B

C

1

2

2

1

2

1

2

1

2

计算笛卡尔积R×S。

8.已知P操作P(S)如下:

(1)将S值减去1;

(2)若S≥0,当前进程继续运行;

(3)若S<0,把当前进程置于等待态,并将它插入到该信号量的等待队列之中。

请写出对应的V操作V(S)。

9.设数据元素的类型是整型的,循环队列的进队算法的部分描述如下:

#define M 100

int q[M],front,rear;

int addq(int x)

{if ((rear+1)%M==front)

{printf(“full queuer!\n”);

return(-1);

}

}

请完成循环队列的完整算法。

10.利用以下代码完成顺序栈的退栈算法。

#define M 100

int v[M],top;

int pop( )

{int y;

if (top==0)

{printf(“stack is empty!\n”);

return(-1);

}

}

11.利用以下代码完成二分查找算法。

#define M 500

typedef struct {int key;char info;} NODE;

NODE r[M];

int binsrch(int k,int n)

{int low,high,mid;

low=1;high=n;

while (low<=high)

{mid=(low+high)/2;

}

}

12.利用以下代码完成冒泡排序的算法。

#define M 500

typedef struct {int key;char info;} NODE;

NODE r[M];

Bubblersort(NODE r[

内容来自淘豆网www.taodocs.com转载请标明出处.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值