• 网络学院
  • IT资讯
  • 操作系统
  • 网络技术
  • 软件应用
  • 办公软件
  • 编程技术
  • 网站架设
  • 数据库类
  • 平面设计
  • 多媒体类
  • 游戏资讯
  • 教学论文
  • 认证考试
等级考试上机必读二级上机考试部分评分方法
  站点:
  • 首 页
  • 最新软件
  • 文章教程
  • 国内软件
  • 国外软件
  • 绿色软件
  • 源码下载
  • 字体下载
等级考试上机必读二级上机考试部分评分方法
软件发布 等级考试上机必读二级上机考试部分评分方法
网络软件 系统工具 应用软件 联络聊天 图形图像 多媒体类 行业软件 游戏娱乐 编程开发 安全相关 教育教学 数码软件 绿软下载
热门软件: QQ 瑞星 pplive e话通 木马克星 千千静听 office2000 五笔字根 Photoshop 视频分割
返回文章教程首页 >> 认证考试 >> 计算机等级考试 >> 计算机等级考试动态 >> 等级考试上机必读二级上机考试部分评分方法

等级考试上机必读二级上机考试部分评分方法

添加时间: 2007-5-7 5:02:17  作者: 计算机等级考试认证参考  阅读次数:44   来源: http://www.d9soft.com

       

上机必读 
二级上机考试部分评分方法 

  自动评分系统有客观、公正的优点,但也有死板的缺点,要想得到比较好的分数,应当考虑到机器的这一特点。实际考试还有人工复查一项,由省级考试部门负责进行.但是人工复查如何进行,我们完全不得而知。因此我们下面的所有内容均不含人工复查内容,仅从考试系统本身来进行分析和说明。 
  我们从多次使用中摸索到的考生可能感兴趣的几点介绍如下: 
  1. DOS操作题的评分比较复杂,评分系统在几次考试中标准似乎有一些变化。 
  按系统的操作说明,只要命令正确即可得分,但实际情况并非如此。机器评分只根据结果,结果正确即得分,命令正确而结果不正确,不能得分。 
  要注意使用规定的命令。比如考试系统不允许使用 deltree 命令,您如果习惯于用该命令来删除子目录,考试时将无法使用。 
  本人曾做过试验,将结果做得完全符合要求,而不让考试系统看到我所作的事(比如使用另外的工具来做),结果照样得分;而使用正确的命令(即使与答案完全相同),而结果不正确(自然使用了“不正当”的方法),评分结果是不能得分。 

  2. 程序修改题的评分大约有下面一些特点: 
  有结果输出到文件中的,先 检查 结果文件。如果结果文件内容完全正确,给满分,并不再检查修改内容。 
  结果没有输出到文件,或结果文件不正确的,逐个错误语句进行检查。分数平均分配(如果共有两个错误,每修正一个得15分;共有三个错误,则每修正一个得10分……)。 
  检查标志为“***found***”。即机器死板地检查第X个“***found***”下面第N行(第X个错误语句应在的行)是否修改得和标准答案中的一个相同,相同则给分,否则不给分。 
  例如:您的修改是完全正确的,与标准答案也完全一致。但是您插入了一个空行在“***found***”和修改了的行之间,这显然不影响程序的正确性,但自动评分系统却会认定您“修改错误”。 
  更有甚者:如果您在程序的前面增加一个含有“***found***”的注释行,则不论您的程序修改得有多正确,评分系统会毫不留情地给您一个零分。 
  程序修改题中还应注意考虑原程序作者的思路,所作改动应尽量小。 
  这里有一个极端的例子:(1999年上半年二级BASIC) 

’* 给定程序MODI1.BAS其功能是: 从键盘上每次输入两个100以下 
’* 的正数分别赋给Y和Z(如不符合此条件的, 则重新输入),累加到累 
’* 加器X中,直到X的值超过500为止。请找出程序中的错误,将程序调 
’* 试出所需结果。 
’* 注意: 不得增行或删行, 也不得更改程序的结构! 

X = 0 
DO 
 DO 
  t = 0 
  INPUT "Y,Z="; Y, Z 
  IF 0 < Y AND Y < 100 AND 0 < Z AND Z < 100 THEN 
  t = 2 
  ELSE 
  PRINT "Out of Range! Input again" 
  END IF 
’**********found********** 
 LOOP WHILE t <> 1 
 X = X + Y + Z 
’**********found********** 
’WHILE X <> 500 
PRINT "X="; X 
END 

  这里共有两个错误:第一个为条件错,第二个语句和条件均有错。因此第一个错误可只改动条件为 t<>2 或 t=0,整个语句为 
   loop while t<>2 或者 loop while t=0 
  第二个错误可改为 
   LOOP WHILE X <= 500 
  总之,这里的思路就是用 DO ... LOOP WHILE <条件> 语句。 
  如果使用 do ... loop until <条件>,程序可以同样成立。如第一个错误改为 
  loop until t=2 
  运行结果完全相同。 
  但是自动评分系统会认为您“修改错误!”扣掉您应得的15分!!!

  过去 C 语言的考试题目一般都出的较为严谨,很少有错误发生(但2002上半年的题虽然没发现什么严重错误,其质量实在不敢恭维)。但在2001年下半年中,仍有错判现象。举一例如下: 
/* 
给定程序MODI1.C中函数fun的功能是:先将在字符串s中的字符 
按逆序存放到t串中,然后把s中的字符按正序连接到t串的后面。 
例如:当s中的字符串为:"ABCDE"时, 
则t中的字符串应为:"EDCBAABCDE"。 
请改正程序中的错误,使它能得出正确的结果。 
注意:不要改动main函数,不得增行或删行,也不得更改程序 
的结构! 
*/ 
#include  
#include  
#include  

void fun (char *s, char *t) 
{ 
/************found************/ 
 int i,sl; 
// int i; 
/* 由于C语言对书写格式不作要求,本错误如改为 int i, 其结果显然也是 
  正确的。然而遗憾的是,自动批改系统此时会判错! */ 
 sl = strlen(s); 
 for (i=0; i < sl; i++) 
/************found************/ 
  t[ i ] = s[sl-i-1]; 
// t[i] = s[sl-i]; 
 for (i=0; i   t[sl+i] = s[i]; 
 t[2*sl] = ’’; 
} 

main() 
{ char s[100], t[100]; 
 clrscr(); 
 printf(" Please enter string s:"); scanf("%s", s); 
 fun(s, t); 
 printf("The result is: %s ", t); 
} 
 有的考生怕修改过程中忘记了原来的内容,把原来的内容用注释的方法保留在程序中(应该说,这是一个好的习惯)。比如把上面的内容写成 
  t[ i ] = s[sl-i-1]; // t[ i ] = s[sl-i]; 或者 
  t[ i ] = s[sl-i-1]; /* t[ i ] = s[sl-i]; */ 
  毫无疑问,这是正确的。但是评分系统竟然会判为“错误”,不给分。考试系统会出现这种低级错误,倒是我以前未曾想到的,而且直至目前,这种错误仍未得到修正。 
  因此考生必须注意把错误的内容全部删除掉。 


2003-8-25 18:24:26 鲜花(4) 鸡蛋(1) 

娟娟 

等级:舵主 
威望:20 
文章:3776 
积分:1548 
注册:2002-11-21 
第2楼 
-------------------------------------------------------------------------------- 


3. 编程题除去少部分类似填空或改错的BASIC程序外,均有结果输出到文件。自动评分时 检查 结果文件,如果结果文件内容正确,则给满分;如果没有结果文件(即使程序是正确的,但没有运行),则得零分;如果应有若干个结果,则得分一般按结果数平均分配(比如应有两个结果,其中一个正确,另一个错误,则一般可得40/2=20分)。在多数情况下,编程题往往不是满分就是零分。 
  要注意的是,在FoxBASE编程题中,如果要生成新的数据库,只要库结构正确,哪怕其他都是错误的,也可得10到20分(随题目不同而有所变化)。因此做不到编程题的考生不可轻言放弃。 
  部分BASIC的编程题实际上是填空题,因此是一个个空来改的,分数按空数平均分配。与程序修改题不同的是,它没有使用“***found***”标记,即使有添行等,也能正确进行评分。 
  有的编程题对考生提出了一些限制,比如不许使用某个或某类函数,或不许使用某种方法等。在评分时,却很可能没有考虑如何限制这一点。我曾试过专门用“不许”的方法去做题,在结果正确的情况下,照样得满分。看来考试系统也是“撑死胆大的,饿死胆小的”。当然,本人绝不鼓励考生不按要求做。如果你看了我的贴子,去做一个“胆大的”,得不到分可不要找我负责哟!!! 
2003-8-25 18:24:48 

娟娟 

等级:舵主 
威望:20 
文章:3776 
积分:1548 
注册:2002-11-21 
第3楼  #p#
-------------------------------------------------------------------------------- 


首先,我讲一下考试评分系统的工作 原理 : 

考试评分系统是不看源程序。而是对你的源程序编译时所产生的.obj文件和.exe文件进行测试。测试分为两部份组成: 

一、运行:完成输入、输出。 
二、评分:与预期的结果对比。 

运行: 

1、运行.exe文件(由你的源程序生成的),运行时,它会调用一个读函数,把in.dat文件里的测试数据读入主函数;一般二级有20组数据,三级、四是一大组数据(一篇英文、400个四位数、100个记录等) 

2、调用你所编写的函数,把这些数代入。 

3、调用写函数,把运行结果写入out.dat文件里。一般二级有20行结果(就是每组数据的运行结果),三级、四级有一大组结果(如一组字符流)或二到三个结果(如求平均值、公差、符合条件的数的个数等) 

以上这三个过程二级里是调用NONO函数完成,三级、四级是分别调用ReadDat()和WriteDat()函数来完成。 

评分: 

运行test.exe文件,把out.dat文件里的内容与评分系统内的内容(预期结果)比较,在二级里,每对一行(就是这组数据的测试结果),给5分。 

三级、四级的就要看具体情况给分了,如:字符流处理的,那只要错一个小部分就0分,因为字符流是连续的。如果是数值处理的(有2-3个结果),那就是每对一个结果结20-30分,但错了一个答案就很难及格了,因为数值处理很多数是互相关联的,如:求平均值,如果符合条件的数的个数错了,那平均值也一定是错的。还有那个100个记录的,那它是以那一行上的内容是不是与预期的一样,每对一行给1分。(因为这个测试数据刚好一百行),这就是三级或四级里有:0<成绩<100 分的原故。(很多人都说三级四级上机成绩不是0分就是一百分,这个观点是错的) 

以上文件名、函数名应以源程序调用时的名为准。 


由上述可知:一个题如果通过编译、能运行就一定有分,那是错的,因为一个题,如果你一点都不做(放空),那是一定能通过编译和运行的。但这时,out.dat文件为空,如果你编写了程序,而运行的结果都是错的,那和空是一样的。这样是不能得分的。 

还有是有人说我做了题,通过了编译,也出了“正确”结果,那为什么会不及格呢?是不是考试系统有问题,这个可能很小,一般是因为你的程序有问题,如以前考网上有一个题: 

求一子字符串在主字符串出现的次数; 
例如:子串:go 
主串:good yjgocel liugo ygoygong 
结果为: 5 

以下是两个人的回复: 

一、int fun(char *str,char *s) 
{ 
int m=0; 
char *p=s; 
while(*str!=’’) 
{ if(*str==*p) 
{ str++; 
p++; 
} /*两字符相同就同时移动指针。*/ 
else 
{p=s; 
str++ ; /*不同只移动一个指针,并把另一指针指向初始位置 */ 
} 
if(*p==’’) /*如果是连续的同时移动到了后一个字符串尾,就计一次数 */ 
{ m++; 
p=s ; 
} 
} 
return m; 
} 

二、int fun(char *str,char *s) 
{ 
int i,j,m=0; 
for(i=0;ifor(j=0;jif(str[i]==s[j]) { 
i++; 
j++; 
} 
else { 
i++; 
break; 
} 
if(j==strlen(s)) 
m++; 
} 
return m; 
} 

其实这两个答案,对于上面的那个主串和子串也许是可以的,但,如果主串是aaa aa,子串是aa,那上面这两个程序就不行了,因为,aa在aaa aa里出现了3次,而不是2次,字符串是可以嵌套出现的,而测试数据里的数据一般什么情况都有,而象这种嵌套的多,这就是他认为自已程序是对的,而结果是不及格的原故。 

以上两位如果是考生的话,他们肯定会说他们的程序是绝对对的,是评分系统问题。 

正确的应这样写: 

fun(char *str,char *s) 
{char str1[10]=""; 
int i,k=0; 
for(;*str;str++) 
{for(i=0;istr1[i]=*(str+i); 
if(!strcmp(str1,s)) k++; 
}  #p#
return k; 
} 

下面我再讲一个测试上述程序的实例: 
主串为:ababcabcacbab。子串为abc或ab。有兴趣的考生可以上机试一下看对不对。

 

上下文章:

 

上一篇文章: 全国计算机等级考试三级上机考试运行平台介绍 下一篇文章: 计算机等级考试:VFp练习题1

相关文章:

  • 三种方法有效解决MSN无法安装的问题
  • 手动去除QQ2009广告和插件的方法
  • 最新版本Windows MSN去广告方法
  • AutoCAD教程:温馨圣诞烛光的渲染方法
  • HBKernel32类似病毒症状处理方法

相关软件:

  • 出国留学考试旅游英语免费用 V1.0
  • 二级VB学习系统 1.0
  • 公安基础知识考试宝典 3.0
  • 执业药师考试宝典 V6.1 中药版
  • 执业药师考试宝典 V6.1 西药版
  • 报检员考试全程通 V6.5

 

快速导航

  • 网络学院
  • 精品汇聚
  • 字体下载
  • 教程下载
  • ASP源码
  • PHP源码
  • Net源码
  • JSP 源码

计算机等级考试分类导航

  • 计算机等级考试动态
  • 计算机一级考试
  • 计算机二级考试
  • 计算机三级考试
  • 计算机四级考试

本类经典文章推荐

  • 全国计算机等级考试三级网络技术(...
  • 三级网络技术复习笔记(第1-2章)
  • 三级笔试样题(PC技术)
  • 三级数据库技术样题
  • 三级网络技术复习笔记(5-7)
  • 三级网络技术复习笔记(第3-4章)
  • 笔试样题(网络技术)
  • 机考如何避免范围性错误
  • 2003年最新三级网络模拟题(2)
  • 全国计算机等级考试三级网络技术部...

计算机等级考试动态阅读排行

  • 完整的计算机等级考试上机模拟系统
  • 9月17日计算机等级考试二级VF答案
  • 历年操作系统论述题及答案(2)
  • 计算机等级考试:VFp练习题1
  • 全国计算机等级考试三级网络技术(...
  • 计算机等级考试:VFp练习题2
  • 2005年全国计算机等级考试全真模拟...
  • 计算机二级VB软件环境、考试时间、...
  • 全国计算机等级考试报名时间、级别...
  • 三级网络技术复习笔记(第1-2章)

计算机等级考试阅读总排行

  • 全国计算机等级考试一级模拟试题01
  • 全国计算机等级考试一级模拟试题10
  • 全国计算机等级考试一级模拟试题08
  • 全国计算机等级考试一级模拟试题02
  • 全国计算机等级考试一级考试最新模...
  • 全国计算机等级考试一级模拟试题07
  • 一级(WINDOWS)试题解析-Word篇
  • 全国计算机等级考试上机考试应试技...
  • 全国计算机等级考试一级模拟试题03
  • 全国计算机等级考试一级模拟试题06

广告位置

字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 回到顶部

关于我们 | 版权声明 | 免责条款 | 广告联系 | 软件发布 | 下载帮助 | 下载排行 | 网站地图 | 特别鸣谢 | 友情连接

copyright; 2005-2008 D9soft.com 第九软件网 版权所有