首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
学生选课最多可以选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
43
问题
学生选课最多可以选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
学硕统考专业
相关试题推荐
下列各组条约的时间排列顺序正确的是()①《布列斯特条约》②《色佛尔条约》③《九国公约》④《洛桑条约》
波兰三次被瓜分的时间是()
据史料记载,隋唐时“民间佛经多于六经数十百倍”,造成这一现象的原因是()①统治者推崇佛教②佛经浅显易懂③雕版印刷佛经④人们盼望安定
明治维新时期的土地改革,说法不正确的是()。
二战后期,反法西斯同盟国召开了一系列会议、达成了一系列协议,以解决战后世界的安排问题,这些会议中以()最为重要,所以,我们将二战后的国际关系格局称为()。
第二次世界大战期间,苏、美、英三国首脑达成的协议中未能实现的是()。
三大战役的先后顺序是()
明末清初,著名学者()抗清失败,前往日本讲学,传播中国文化。
1946年3月5日,英国前首相丘吉尔在富尔敦发表了(),发出第一个明白无误的“冷战”信号。
三个进程P1、P2、P3互斥使用一个包含N(N>O)个单元的缓冲区。P1每次用produce()生成一个正整数并用put()送入缓冲区某一空单元中;P2每次用getodd()从该缓冲区中取出一个奇数并用countodd()统计奇数个数;P3每次用getev
随机试题
毛泽东同志于哪一年在最高国务会议上提出了“百花齐放,百家争鸣”的方针?()
下列哪项可以准确反映体内贮存铁的情况
设计利用穿堂风进行自然通风的板式建筑,其迎风面与夏季最多风向的夹角宜为:
在水泥砂浆中掺入石灰浆的主要目的是()。
下列各项中,应征收印花税的有()。(2013年)
下列字符中,ASCII码最小的是()。
大豆的脂肪组成以不饱和脂肪酸居多,是高血压、动脉粥样硬化等疾病患者的理想食物。()
课程是为学生的个性全面发展而创设的学校环境的全部内容。()
胡锦涛在十届全国人大三次会议第四次全体会议上当选为中华人民共和国中央军事委员会主席,其意义在于()
下面关于函数模板的表述中不正确的是()。
最新回复
(
0
)