ZQUOJ简介(简化版).doc

上传人:工**** 文档编号:564318533 上传时间:2022-09-03 格式:DOC 页数:13 大小:1.30MB
返回 下载 相关 举报
ZQUOJ简介(简化版).doc_第1页
第1页 / 共13页
ZQUOJ简介(简化版).doc_第2页
第2页 / 共13页
ZQUOJ简介(简化版).doc_第3页
第3页 / 共13页
ZQUOJ简介(简化版).doc_第4页
第4页 / 共13页
ZQUOJ简介(简化版).doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《ZQUOJ简介(简化版).doc》由会员分享,可在线阅读,更多相关《ZQUOJ简介(简化版).doc(13页珍藏版)》请在金锄头文库上搜索。

1、肇庆学院在线程序自动评测系统简介“肇庆学院在线程序自动评测系统”(英文名称:Online Program Judge System)是由钟鏸老师主持开发的一套源程序正确性评判系统。该系统主要服务于两个方面:1、高级语言程序设计C+程序设计数据结构算法分析与设计等课程的作业布置与完成2、ACM/ICPC竞赛活动的日常训练以下主要针对课程作业方面作出简单操作说明。一、系统设计目的1)程序设计语言类的课程,其目标是让学生掌握该程序设计语言,以便采用该语言编写代码去解决实际问题。因此,建立学生解决问题的能力,是最终培养目标。而语言的语法,仅是该语言的一些规则而已。因此,本系统提供足够数量的习题,让学生

2、动手实验来巩固该语言的语法规则,最终能够使用该语言解决实际问题。只有通过大量实践,学生才能建立编程解决问题的基本思想和能力。本系统提供了真正有效的实践平台。2)提高评阅作业的准确率,降低任课老师的工作强度。每一位任课老师面对少则几十个学生,多则上百个学生,一个学生一学期少则需要编写几十份代码,多则上百份代码,如果任课老师做到百分百评阅批改,那工作量是非常巨大的。就算批改50%,工作量也是很大的。另一方面,同一道题目,每个学生有自己的解题思路、有自己的编程风格、有不同的书写习惯,任课老师手工批阅的话,难免因为疲劳等而产生误判。本系统能够完全解决以上两个问题,百分之百准确无误地评测学生所提交的没一

3、份代码,无一遗漏。而且没有时间上的限制,学生可以在实验室提交代码,也可以在图书馆、宿舍、家里等任意能够上网的地方提交作业。任课老师可以随意上网查阅学生的代码,解答学生的各种问题,如语法问题、解题思路问题。3)精选具有代表性的题目建立习题库对于高级语言程序设计课程,目前本系统主要参考谭浩强、王晓东所著的两本教材,精选其中例题及课后习题,做出相应的测试数据,放在本题库中。题库可以根据需要而增加或修改,不断完善。已建成C语言程序设计习题库(亦可用于C+)、数据结构习题库、算法分析与设计习题库。二、本系统的工作方式在线程序自动评测系统(Online Program Judge System,以下简称O

4、J)是一个基于Browser/Server模式的面向程序设计的源代码自动评测系统,其工作原理如下图所示。学生编辑程序代码提交编译器编译代码编译正确运行程序运行错误或超时编译错误与标准答案比较答案错误测试数据正确,返回程序运行消耗的时间、所需的内存Online Judge System在线程序评测系统工作方式学生阅读OJ上的题目,编写好程序代码,一般在本地机器输入一些运行数据验证后认为无误了,就把代码提交到OJ。OJ一旦接收到提交,就对代码进行编译,如果代码存在语法错误,则把语法错误信息反馈给学生。如果编译正确,则把该题的测试数据重定向给程序、作为程序运行的输入数据。如果程序在运行过程中出错,O

5、J把运行时错误信息反馈给学生;如果程序没有在规定时间内运行结束(多为程序所用的算法不是最优),那么即使答案可能正确,OJ也把“超时”信息反馈给学生。如果程序运行不超时,且答案也正确,OJ把“正确”信息反馈给学生,并给出其程序运行所用的时间及运行过程中所使用的内存数量,以便做出对比评价。OJ完成一次代码的评测只需很短的时间,一般情况下只需15秒左右(大多数情况下只需不到3秒)。也就是说,学生可以在很短时间之内知道自己所写的程序是否正确、算法是否最优,并可以马上调整思路修改程序并再次提交代码,直至取得“正确”的反馈。在线程序评测系统的工作效率很高,响应速度很快,学生可以即时得到反馈的结果,且公平公

6、正地对待每一个学生的代码,对每一份代码给出公正的评价。它24小时在线等待学生提交代码,对于提升学习效果很有利。三、使用手册(简化版)【进入系统】1. 校内网用户,通过以下网址访问本系统:1)学生类用户:http:/172.21.81.30/ZQUOJ2)教师、教练类用户:http:/172.21.81.30/ZQUOJ/manage (系统自动识别两类用户的身份,提供相应的菜单功能)2. 校外网用户,首先安装VPN插件(http:/),然后通过公用用户 cs_student(密码:cs_password)登陆进入VPN,如下图所示:然后点击 JudgeOnline(HTTP),如下图所示:注:

7、通过VPN访问本系统是受到时间限制的,凡超过5分钟没有任何操作,则自动断开VPN链接。此时,可重新登录cs_student账号而继续操作。3. 进入本系统后首页如下所示:主页最上部是网站Logo;第二行是网站主菜单;接下来左侧是公告栏news-board,主要放置网站公告文章(由教练类用户维护);右侧是本系统的主要常用功能,简述如下:Problem:题目列表Submit:提交题目Status:提交结果动态列表Contest:在线竞赛子系统RankList:解题排名榜Resources:资源下载板块,用于下载各种学习资料Article:文章列表F.A.Q:常见问题列表【学生类用户使用说明】1.

8、注册系统已为计算机学院新生统一注册账户,账户名统一规格为:11ABCC,其中: A=1 表示本科计算机科学专业,=2表示本科软件工程专业,=3表示本科网络工程专业,=4表示大专B=1 表示1班,=2表示2班,以此类推CC 是顺序号,即学生学号最后两位密码初始值与账号一致。2. 登陆在系统首页右上角位置(见下图红色虚线框处)输入用户名及密码后,点击Login即可登录。或者点击主菜单 Member - Login,进入登录页面(如下图),输入用户名及密码后,可登录系统。注:提交代码、浏览下载资源等功能均需要登录系统后方可操作。3. 浏览题目点击主页上的 Problem 或 主菜单的 Problem

9、 或 Problem-Problem List,均可打开题库列表,如下图所示。(注:本题库的题目由“教练类用户”负责维护,教练类用户可增加题目、修改题目陈述、修改题目的时间、内存限制,维护测试数据,删除题目等。)题目分页显示,每页显示100题。点击题目列表上面的数字1,2,3即可跳到各个页面。题目列表最左边一列是“成功解题标志”,表示该道题是否已成功解答(成功解决的题目,在题目前面自动打一个勾,提交不成功的题目自动打一个叉,直到成功解题时会变为一个勾。未提交过的题目没有标记。);第二列是题目的编号;第三列是题目名称;第四列是累计的成功提交次数、总提交次数,以及成功提交次数占总次数的百分比;最后

10、一列最新一次的提交时间。用户可点击一个题名进入相应这道题目的描述页面。某道题目的样式如下图所示。题目的描述由以下几部分构成:1) 题名,表示该道题目的中文名称或英文名称。每一道题目都有一个名称2) 运行参数,如:memory limit: 65536KB 表示本题的代码运行的空间限制为64Ktime limit: 500MS 表示本题的代码运行的时间限制为 500毫秒accept: 10 表示本题已有10人次成功解题submit: 17 表示本题共发生17次提交3) Description,题干陈述,描述该题的概况4) Input,输入格式描述5) Output,输出格式描述6) Sample

11、 Input,输入样例7) Sample Output,输出样例8) Hint,解题的提示。部分题目在此给出适当提示。9) Source,题目来源10) Author,题目作者页面下方有“status”和“discuss”两个连接。点击status后,转到关于本题的提交统计页面,如下图所示:本页给出该道题目的历次提交结果以及汇总统计情况。“discuss”连接暂不开放。4. 做题、提交代码看完题目陈述,思考之后,用户可在本地机器编写程序,当确认程序没有错误的时候,即可提交代码到本系统,让系统自动评测程序代码的正确性。用户点击题目页面下方的 submit,即可进入提交代码页面,如下图所示:用户只

12、需把编写的代码粘贴到页面中间的文本框后,点击文本框下的submit,即完成一次代码提交。(submit右边的reset的作用是清空文本框的内容。)如下图所示:本系统当前支持三种高级编程语言:标准C,标准C+,PASCAL。用户在提交代码前,可点击下拉菜单选择语言种类。如下图所示:系统默认语言种类是标准C+。由于标准C+也兼容标准C,因此提交C语言代码的用户也免除了每次都去改动它。提交代码之后,自动转到Solution List页面,如下图所示:Solution List页面是查看代码提交运行结果的页面。提交了代码之后,一般可在此页面的第一页看到自己的提交状态。本页面以时间倒序排列所有的提交,并

13、分页显示(每页显示20行提交),即最新近的一次提交放在第一页第一行。本页面第一列ID是提交的编号,系统自动顺序编号;第二列UserName是提交者的账号,可点击之后跳转到该用户的信息页面;第三列ProblemID是该次提交代码所针对的题目的编号,可点击之后跳转到该题目的陈述页面;第四列Result是该次提交的结果;第五列RunTime是该代码编译后产生的程序运行所消耗的时间,以毫秒为单位;第六列Memory是该代码编译后产生的程序运行所使用的空间,以K为单位;第七列Language是程序的语言;第八列CodeLen是代码的长度,可点击之后弹出一个新窗口,显示该次本人提交的代码;第九列Submi

14、t Time是提交的日期时间。提交之后20秒之内,可以看到自己提交的结果。系统每隔20秒自动刷新本页,也可手动点击IE的刷新按钮来刷新本页。代码提交的结果(Resule)有如下十种,它们的具体含义如下:1) Accepted,字体为红色,表示所提交的代码编译后产生的程序,能够在规定运行时间内、在规定内存空间范围以内,运行得到与标准答案一致的结果。2) Compile Error,字体为蓝色,表示编译错误。即代码在编译过程中存在语法错误,没有通过编译。此时点击 Compile Error ,会弹出一个新窗口,在其中列出了该代码的各个编译错误。3) Wrong Answer,字体为浅灰色,表示所提

15、交的代码通过了编译,但是,生成的程序运行所输出的内容与标准答案不一致。即对于某组输入数据,程序的运行输出结果与标准答案不一致。4) Runtime Error,字体为浅褐色,表示运行时错误。即代码生成的程序在运行过程中发生错误。错误可能是数组下标越界、指针非法操作、除数为零等等。5) Time Limit Exceed,字体为天蓝色,表示超时。即代码所生成的程序没有在限时之内运行完毕,这多数发生在算法的时间复杂度太高。应改用正确高效的算法去解决本题。6) Presentation Error,字体为绿色,表示格式错。即程序运行所输出的答案,与标准答案相比,只存在格式方面的错误。这多数是由于程序没有严格按照输出格式的要求,以致输出多了空格、少了空格、多了换行、少了换行等等。7) Memory Limit Exceed,字体为紫色,表示程序运行时所用的内存空间超出了该题目的限制。8) Va

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号