首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
学生选课最多可以选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
69
问题
学生选课最多可以选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
学硕统考专业
相关试题推荐
1929~1933年资本主义世界经济危机与1857年爆发的第一次世界性经济危机相比,其最大不同是()。
比绿林军动稍后,琅琊人()在莒县暴动,为了作战时与敌人相区别,农民军把眉毛涂红,被称为赤眉军。
晚清时期下列武装力量出现的先后顺序是
中共七届三中全会以后进行的工商业合理调整,其核心内容是调整()。
日本明治维新和中国戊戌变法一成一败的原因。
下列能体现《独立宣言》是“一个伟大的历史文件”的表述是()
已知某CPU有16根地址线、8根数据线,并用MREQ作为访存控制信号(低电平有效)。现有下列存储芯片:1K×4位ROM、2K×4位ROM、4K×8位ROM、4K×8位RAM、8K×4位RAM、8K×8位RAM和非门、与非门、或非门若干,如下图所
给定序列{3,5,7,9,11,13,15,17),(1)按表中元素的顺序依次插入一棵初始为空的二叉排序树,画出插入完成后的二叉排序树,并求在等概率情况下查找成功的平均查找长度。(2)按表中元素的顺序构造一棵平衡二叉树,并求其在等概率情
问:下列IEEE单精度浮点数所表示的十进制数分别是多少?(1)1011110101000000000000000000000(2)010l0101011000000000000000000000(3
定点加法器完成加法操作时,若次高位的进位与最高位的进位不同,即这两个进位信号“异或”运算的结果为l,则称发生了()。
随机试题
阅读韩愈《张中丞传后叙》中的一段文字,然后回答下题。说者又谓远与巡分城而守,城之陷,自远所分始。以此诟远。此又与儿童之见无异。人之将死,其脏腑必有先受其病者;引绳而绝之,其绝必有处。观者见其然,从而尤之,其亦不迭于理矣!小人之好议论,不乐成人之美,
以下属于教师一般权利的是()。
I’mgratefulbecauseyouhavetaken______toshowmehowtodothework.
[*]
对管电压选择的叙述,错误的是
体温调节中枢主要位于()
纯棉劳动布(经纱藏蓝色,纬纱浅灰色;织物重为210g/m2;幅宽110cm)()
请问你为何要参加这次公开选拔考试?
存折对于()相当于栅栏对于()
虎山长城遗址除一号台址发现很少的残砖之外,其他地方均没有发现城砖。虎山村及附近村庄也没有从长城上拆下城砖用于民房建筑的情况。由此可以推测,虎山长城用砖是极少的。上述推测还需要隐含哪一项假设?()
最新回复
(
0
)