首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
学生选课最多可以选3门,如果王同学选了3门C1、C2、C3后,想把C3换成C4,王同学就得先退选C3再申请选修C4。但是这个时候可能C4已经选满了,而王同学再选回C3的时候可能已经被人选满,不能再选了。为了解决这个问题,使用一个函数TradeCourse(
学生选课最多可以选3门,如果王同学选了3门C1、C2、C3后,想把C3换成C4,王同学就得先退选C3再申请选修C4。但是这个时候可能C4已经选满了,而王同学再选回C3的时候可能已经被人选满,不能再选了。为了解决这个问题,使用一个函数TradeCourse(
admin
2014-12-08
38
问题
学生选课最多可以选3门,如果王同学选了3门C1、C2、C3后,想把C3换成C4,王同学就得先退选C3再申请选修C4。但是这个时候可能C4已经选满了,而王同学再选回C3的时候可能已经被人选满,不能再选了。为了解决这个问题,使用一个函数TradeCourse(user,course1,course2)将课程course1换成course2。下面给出一种实现。如果不正确,给出所有错误的执行情况,并给出你认为正确的实现,要有适当的注释。
TradeCourse(user,course1,course2){
course1->p(); //申请课程coursel数据结构的互斥信号量
course1->drop(user); //退选课程course1
course2->p(); //申请课程course2数据结构的互斥信号量
if(course2->isFull()==false){ //课程course2没有选满
course2->add(user); //申请选修课程course2
course2->v(); //释放课程course2数据结构的互斥信号量
course1->v(); //释放课程course1数据结构的互斥信号量
}
}
选项
答案
该算法是错误的,若课程2选满,即course2->isFull=true,就会使得该学生有可能选不到3门课,因此要保证该同学在退选课程后,申请新课程失败的情况下,仍然可以选回原课程,即不同同学的退选和申请课程应该互斥进行,因此这里只要处理好course2->isFull=true的情况即可。 正确的算法如下: TradeCourse(user,coursel,course2){ course1->p(); //申请课程coursel数据结构的互斥信号量 course1->drop(user); //退选课程course1 course2->p(); //申请课程course2数据结构的互斥信号量 if(course2->isFull()==false){ //课程course2没有选满 course2一>add(user); //申请选修课程course2 course2->v(); //释放课程course2数据结构的互斥信号量 coursel->v(); //释放课程coursel数据结构的互斥信号量 } else{ course1>add(user); //重新选择course1 course2->v(); //释放课程course2数据结构的互斥信号量 course1->v(); //释放课程course1数据结构的互斥信号量 } }
解析
转载请注明原文地址:https://kaotiyun.com/show/ydxi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
列宁认为,既然俄国无法直接过渡到社会主义,那么就“应该利用资本主义作为小生产和社会主义的中间环节”。为此而采取的政策是()。
1988年起,苏联民族矛盾激化,民族分离运动加剧,第一次较大规模的民族冲突是()。
晚清时期下列武装力量出现的先后顺序是
列宁在《四月提纲》中提出的布尔什维克党的任务是()。
二战期间,下列四次战役的时间先后顺序是()①莫斯科战役②诺曼底登陆③不列颠之战④阿拉曼战役
最早测量子午线的长度,并主持修订了当时最先进历法《大衍历》的是僧人()。
1988年起,苏联民族矛盾激化,民族分离运动加剧,第二次较大规模的民族冲突是()。
下列有关《布列斯特和约》的说法中,错误的一项是()。
下图所示为双总线结构机器的数据通路,IR为指令寄存器,PC为程序计数器(具有自增功能),M为主存(受R/W信号控制),AR为地址寄存器,DR为数据缓冲寄存器,ALU由加、减控制信号决定完成何种操作,控制信号G控制的是一个门电路。另外,线上标注有小圈表示有控
采用散列函数H(k)=3×kMOD13并用线性探测开放地址法处理冲突,在数列地址空间[0..12]中对关键字序列22,41,53,46,30,13,1,67,51;(1)构造散列表(画示意图);(2)装填因子;(3)等概
随机试题
main(){chars[4]="9876",*p;for(p=s;p<s+2;p++)printf("%s\n",p);}错误:______改正:______
按照《建设工程工程量清单计价规范》的规定,工程建设风险因素所需费用在( )中考虑。
下列有关应急预案演练结束与终止说法中,不正确的是()。
下列各项税金中,一般不影响企业损益的是()。
材料价格差异与数量差异产生的原因有哪些?
下列有关事务所侵权赔偿顺位和赔偿责任范围的陈述中,恰当的是()。
甲公司为境内注册的公司,为增值税一般纳税人,适用的增值税税率为17%,其30%收入来自于出口销售,其余收入来自于国内销售;生产产品所需原材料有30%进口,出口产品和进口原材料通常以美元结算。甲公司以人民币作为记账本位币,外币业务采用交易发生日的即期汇率折
唐德斯C反应时又叫()。
风险管理
设f(x)在(-∞,+∞)上连续,f’(0)=1,且对任意的x,y∈(-∞,+∞),有f(x+y)=f(x)f(y),求f(x).
最新回复
(
0
)