估计以后的考试也可能略有变化,即逐渐增加使用命令的条数。由于该内容变化小,考生应当练习到纯熟的境地,在考试时用尽可能少的时间来做这部分内容,以使其他内容有更多的时间。六题能做出五题即可,有一题一时想不起,可以暂时先不做,做完其他题后如有时间可再回头做。这部分的时间不超过十分钟较好。
2.做程序修改题要特别注意严格按要求做。
程序行的错误标志为“***found***”。有的题目明确指出错误紧跟在“***found***”下面的一行,而有的没有明确指出来。应重点注意“***found***”下面的第一条语句(有时候一条语句可以占几行)。同时应注意有时候几条语句(类似于文学中的排比句)错误雷同,是作为一个错误来处理的。
改正错误语句时一定注意不可增减程序行。因为评分时机器死板地检查第X个“***found***”下面第N行(第X个错误语句应在的行)是否修改得和若干标准答案中的一个相同,相同则给分,否则不给分。行数不对,无论程序怎样正确,评分时一定算作错误来处理。
程序修改题中还应注意考虑原程序作者的思路,所作改动应尽量小。因为出题者给出的答案数是有限的,考生的答案如果出了出题者所给的范围,正确也被当作错误来处理了。
例(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