若有一个仓库,可以存放P1,P2两种产品,但是每次只能存放一种产品。要求: ①w=P1的数量-P2的数量 ②-i

题目

若有一个仓库,可以存放P1,P2两种产品,但是每次只能存放一种产品。要求:

①w=P1的数量-P2的数量

②-i 若用P-V操作实现P1和P2产品的入库过程,至少需要(49)个同步信号量及

(50)个互斥信号量,其中,同步信号量的初值分别为(51),互斥信号量的初值分别为(52)。

A.0

B.1

C.2

D.3

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

若有说明:int*p1,*p2,n=8,m;下列均是正确赋值语句的选项是( )。

A.p1:&n;p2=&pl;

B.p1=n;

C.p1=&n;*p2=p1;

D.p1=&n;p2=p1;


正确答案:D
解析:本题考查指针变量的赋值。选项A)中,p1、p2本身都是地址变量,不能再将 p1取地址赋给p2;选项B)中,不能将整型数据直接赋值给指针型数据;选项C)中,*p2代表了一个整型变量,而*p2=p1这个语句试图把一个地址值放入一个整型变量中是错误的;选项D)中指针间的赋值是正确的。

第2题:

若有说明:int*p1,*p2,m=3,n;则p1=&m;p2=p1;是正确的赋值语。()

此题为判断题(对,错)。


参考答案:正确

第3题:

●若有一个仓库,可以存放P1、P2两种产品,但是每次只能存放一种产品,要求:

①w=p1的数量-p2的数量②-i<w<k(i、k为正整数)

若用PV操作实现P1和P2产品的入库过程,至少需要 (51) 同步信号量及 (52) 个互斥信号量,其中,同步信号量的初值分别为 (53) ,互斥信号量的初值分别为 (54) 。

(51) A.1

B.2

C.3

D.4

(52) A.1

B.2

C.2

D.4

(53) A.0

B.i,k,0

C.i,k

D.i-1,k-1

(54) A.1,1,l

B.1,1

C.1

D.i,k


正确答案:B,A,D,C
【解析】同步是指进程间共同完成一项任务时直接发生相互作用的关系,即具有伙伴关系的进程在执行时间次序上必须遵循的规律。互斥是指进程因竞争同一资源而相互制约。

因为只有1个仓库,所以只需要设置1个互斥信号量,其初值为1。

第4题:

有以下程序

#include<stdio.h>

#include<string.h>

void fun(char *w,int m)

{ char s,*p1,*p2;

p1=w;p2=w+m-1;

while(p1<p2){s=*p1;*p1=*p2;*p2=s;p1++;p2--;}

}

main()

{ char a[]="123456";

fun(a,strlen(a));puts(a);

}

程序运行后的输出结果是

A.654321

B.116611

C.161616

D.123456


正确答案:A
解析:strlen函数的作用是计算字符串的长度,不包括'\0'在内。所以形参m的值为6,根据fun函数中pl和p2的赋值一个指向第一个字符'1',一个指向最后一个字符'6'。然后比较大小,且根据条件互换,直到条件为假跳出循环。第一次循环后为623451,第二次653421,第三次654321。即fun函数实现将一个字符串逆序存放。所以答案为A)。

第5题:

设R(Pi)表示进程Pi执行时必须读变量的语句集合,W(Pi)表示Pi执行时必须写变量的语句集合。现在有P1和P2两个进程,若要这两个进程并发,必须满足()

A. R(P1)与W(P2)的交集为空

B. W(P1)与W(P2)的交集为空

C. R(P1)与R(P2)的交集为空

D. W(P1)与R(P2)的交集为空


正确答案:ABD

第6题:

若有一个仓库,可以存放P1和P2两种产品,但是每次只能存放一种产品。要求:

①w=P1的数量-P2的数量

②-i<w<k(i,k为正整数)

若用PV操作实现P1和P2产品的入库过程,至少需要(1)个同步信号量及(2)个互斥信号量,其中,同步信号量的初值分别为(3),互斥信号量的初值分别为(4)。

A.0

B.1

C.2

D.3


正确答案:C
解析:同步是指进程间共同完成一项任务时直接发生相互作用的关系,即具有伙伴关系的进程在执行时间次序上必须遵循的规律。互斥是指进程因竞争同一资源而相互制约。
  在本题中,相当于P1和P2 2种产品竞争同一仓库。
  设置2个同步信号量Sp1和Sp2,Sp1表示存放产品P1,其初值为i-1(因为i为正整数,没有存放时为0);Sp2表示存放产品P2,其初值为k-1。
  因为只有1个仓库,所以只需要设置1个互斥信号量,其初值为1。

第7题:

下列程序的运行结果是【 】。 include include void main() {char * a[5

下列程序的运行结果是【 】。

include<iostream. h>

include<string. h>

void main()

{

char * a[5]={"stuent","worker","teacher","soldier"," peasant"};

char * p1, * p2;

p1=p2=a[0]

for(int i=0;i<5;i++)

{

if(strcmp(a[i],p1)>0)

p1=a[i];

if(strcmp(a[i],p2)<0)

p2=a[i];

}

cout<<p1<<","<<p2<<endl;

}


正确答案:workerpeasant
worker,peasant 解析:分析本题的for循环体内的语句可知,p1和p2将放置最大和最小的字符串,这里的比较是以第一个字符值为基准的。

第8题:

若有说明:int*p1,*p2,n=8,m;下列均是正确赋值语句的选项是( )。

A.p1=&n;p2=&p1;

B.p1=n;

C.p1=&n;*p2=p1;

D.p1=&n;p2=p1;


正确答案:D
解析:本题考查指针变量的赋值。选项A)中,p1、p2本身都是地址变量,不能再将p1取地址赋给 p2;选项B)中,不能将整型数据直接赋值给指针型数据;选项C)中,*p2代表了一个整型变量,而*p2=p1这个语句试图把一个地址值放入一个整型变量中是错误的;选项D)中指针间的赋值是正确的。

第9题:

若有定义int*p1,*p2;则指针变量p1、p2不能进行运算的是()

A.<

B.=

C.+

D.-


参考答案:C

第10题:

有一个仓库可以存放P1、P2两种产品,但是每次只能存放一种产品。要求:

①w=P1的数量-P2的数量;

②-1<w<k(i、k为正整数)。

若用P/V操作实现P1和P2产品的入库过程,则至少需要上(26)个同步信号量及(27)个互斥信号量。其中,同步信号量的初值分别为(28),互斥信号量的初值分别为(29)。

A.0

B.1

C.2

D.3


正确答案:C
解析:同步是指进程间共同完成一项任务时直接发生相互作用的关系,即具有伙伴关系的进程在执行时间次序上必须遵循的规律。互斥是指进程因竞争同一资源而相互制约。在本题中,相当于P1和P2两种产品竞争同一仓库。设置2个同步信号量SP1和SP2,SP1表示存放产品P1,其初值为i-1(因为i为正整数,没有存放时为0):SP2表示存放产品P2,其初值为k-1。因为只有1个仓库,所以只需要设置1个互斥信号量,其初值为1。

更多相关问题