收藏 分享(赏)

专业课程设计II题目及分组情况.doc

上传人:dreamzhangning 文档编号:2305334 上传时间:2018-09-10 格式:DOC 页数:12 大小:140.50KB
下载 相关 举报
专业课程设计II题目及分组情况.doc_第1页
第1页 / 共12页
专业课程设计II题目及分组情况.doc_第2页
第2页 / 共12页
专业课程设计II题目及分组情况.doc_第3页
第3页 / 共12页
专业课程设计II题目及分组情况.doc_第4页
第4页 / 共12页
专业课程设计II题目及分组情况.doc_第5页
第5页 / 共12页
点击查看更多>>
资源描述

1、1南 京 邮 电 大 学专 业 课 程 设 计 指导老师:黄海平计算机学院. 计算机科学与技术系一、专业课程设计 的目的与要求课程设计是教学计划的重要组成部分,是学生在校学习期间进行实践的一个重要教学环节。本次课程设计 是在学生完成了计算机网络、数据库、操作系统、数据结构和编译原理等一系列计算机专业相关课程的学习后进行的综合应用这些课程知识和技能的一个重要教学环节,通过课程设计达到培养和提高解决实际问题的能力和所学知识的综合应用能力。为使学生通过课程设计切实受到锻炼,增长知识,达到教学计划的要求,提出如下具体要求:1. 严格遵守纪律,按计划进度完成课程设计任务。2. 严格遵守实验室的各项规章制

2、度,严禁做与实验无关的任何事情。3. 在课程设计过程中,要求理论联系实际,注意所学知识的综合运用,注重创造力的培养。4. 课程设计过程中,要始终坚持严肃认真、实事求是、独立思考、虚心学习、刻苦钻研的态度,要加强对基础理论、基本知识与基本技能的掌握和运用。5. 请注意保存和备份自己的文档。6. 禁止利用实验室条件进行看电影、打游戏、聊天等与老师布置的上机任务不相干的事情。7. 上机时间和地点:第 1-2 周周一周四下午 13:45-17:10,教五-5 楼(具体哪个房间请看走廊上玻璃窗所张贴的安排)。二、设计题目与任务要求题目 1题 目 1:词法分析程序的构造题目描述:通过状态转换图构造 C 或

3、者 PASCAL 语言子集的词法分析程序。原理解析:选取语言,例如选取了 C 语言,选取其中一个子集,例如包含了部分关键字2main、float、if、for 等等,特殊符号( 、D。每一个学生的项目由 K 个老师共同来检查。在 T 分钟的时间段内,学生可以在任何时间进入教室(random),除了在最后的 D 分钟内。所有的老师一直保持工作状态直到他检查完 N 个项目或者是 T 分钟过去后。 T 分钟过去后,所有的老师和同学都必须离开教室。另外,在 T 分钟结束前的 D 分钟内 (即在最后的 D 分钟内),如果有任何老师或者是学生都处在没有任务的状态下,都必须离开教室,因为已经没有时间让他完成

4、任务了(因为一个项目检查的时间是整整 D 分钟)。该课题主要考察操作系统中 PV 操作知识点,涉及到多进程管理和死锁的相关知识。基本要求:用一个程序来模拟上面描述的作业检查过程。每一个学生和每一个老师应该用不同的线程来完成。可以选用 C、C+ 和 Java 作为开发语言,但是考虑到专业课程设计 I 的实验大纲,请尽可能使用 Java 语言。提高要求:(1) 考虑到跨平台的特性,请尽量使用 posix 线程标准(采用该标准有额外的加分 );(2) 实现良好的图形用户界面;(3) 在程序演示过程中能清晰的展示多个学生线程和多个老师线程的同步和互斥流程。10设计提示:1、当一个学生进入教室后,他立即

5、开始找 K 个没有任务的老师( 一次找一个老师,假如没有空闲的老师,则等到有老师为止),找齐 K 个老师之后给老师检查,然后离开教室。刚开始每一个老师都是处于空闲状态直到他被学生找到,被学生找到后只能等待,直到学生找齐 K 个老师(在等待学生找其他老师的时间里,他是不能接受其他同学检查作业的请求的),当学生找齐 K 个老师后,老师们执行完检查任务,然后重新变成空闲状态。每个老师在总共检查了 N 个学生的作业后,离开教室。注意,并不保证所有的学生都在 T 分钟的时间段内完成了检查,还要注意不能发生死锁问题。2、学生线程和老师线程:一个学生线程执行下面的步骤:(1) 选择一个进入的时间(rando

6、m()%( T-D)minutes ;(2) 进入教室;(3) 选择 K 个空闲的老师,若找不齐,则等待;(4) 找齐后,做 D 分钟的检查;(5) 检查完毕离开教室。一个老师线程执行下面的步骤:(1) 在教室中空闲;(2) 直到被一个学生选择后等待( 所有 K 个老师聚集) ;(3) 等待结束项目检查开始;(4) 做 D 分钟的项目检查;(1)(4)步骤重复 N 次(5) N 次检查完毕或者 T 分钟时间到,离开教室。3、注意事项(1) 在剩余时间小于 D 时,一个已创建的学生线程只能执行第(5)步,不能再创建新的学生线程;(2) 在剩余时间小于 D 时,一个老师进程只能在执行 (3)(4)

7、步或者直接执行第(5) 步;(3) 对于所有合理的 S, M, K, N, T, D 数值( 这些数必须都是正整数并且满足条件:S*KD),你的程序都能够运行成功;(4) 你的程序对所有的时间安排策略都必须运行成功。例如不管线程的相对速度,例如要把握好 sleep 的毫秒数;(5) 在每一个线程的生命周期内,每一步都要有一个合理的说明信息,来表明这个线程中包括哪个老师,哪个学生,进行到什么程度了;11(6) 要特别注意防范死锁问题的发生。以上六点都是最后评分的要点。4、测试用例(注:仅供参考,不作为程序实现的标准格式)说明信息的格式提供如下:S=5 M=3 K=2 N=3 T=150 D=20

8、0 student 0: starts panicking0 student 1: starts panicking0 student 2: starts panicking0 student 3: starts panicking0 student 4: starts panicking0 marker 0: enters lab0 marker 1: enters lab0 marker 2: enters lab14 student 0: enters lab14 marker 0: grabbed by student 0 (job 0)14 marker 1: grabbed by

9、student 0 (job 0)14 student 0: starts demo35 student 0: ends demo35 student 0: exits lab (finished)35 marker 1: finished with student 0 (job 0)35 marker 0: finished with student 0 (job 0)38 student 2: enters lab38 marker 2: grabbed by student 2 (job 2)38 marker 1: grabbed by student 2 (job 2)38 stud

10、ent 2: starts demo54 student 4: enters lab54 marker 0: grabbed by student 4 (job 4)59 student 2: ends demo59 student 2: exits lab (finished)59 marker 2: finished with student 2 (job 2)59 marker 2: grabbed by student 4 (job 4)59 marker 1: finished with student 2 (job 2)59 student 4: starts demo80 stu

11、dent 4: ends demo80 student 4: exits lab (finished)80 marker 2: finished with student 4 (job 4)80 marker 0: finished with student 4 (job 4)96 student 3: enters lab96 marker 1: grabbed by student 3 (job 3)96 marker 2: grabbed by student 3 (job 3)96 student 3: starts demo117 student 3: ends demo117 st

12、udent 3: exits lab (finished)12117 marker 1: finished with student 3 (job 3)117 marker 1: exits lab (finished 3 jobs)117 marker 2: finished with student 3 (job 3)117 marker 2: exits lab (finished 3 jobs)127 student 1: enters lab127 marker 0: grabbed by student 1 (job 1)131 student 1: exits lab (timeout, timeD)132 marker 0: exits lab (timeout)参考资料:1 孙钟秀. 操作系统教程(第 3 版)M. 北京: 高等教育出版社, 2003. 2 张孝祥. Java 就业培训教程M. 北京: 清华大学出版社, 2003.学号(此题最多 6 人选择) 姓名(此题最少 3 人选择)PS:可选择你熟悉的任何一门编程语言和任何一种编程环境实现。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报