3.错误位置:PROGRAM prime2(input,output);
VAR i,n: INTEGER;
isprime:BOOLEAN;
BEGIN
(1)→readln(n);
FOR i:=2TO trune(squr(n))DO
IF n MOD i=0
THEN isprime:=FALSE
(2)→ENDDO;
IF isprime
THEN writeln(n,'is a prime!')
ELSE writeln(n,'is not a prime!')
END.
错误说明:(1)循环语句之前缺少对变量isprime赋初值的语句:isprime:=TRUE;
(2)ENDDO应划去(为非法、多余成分)。
评分标准:指出错误位置每种及错误原因说明每个各1分。
4.错误位置: PROGRAM calc(input,output);
CONST test=200.88;
VAR a,b: REAL;
PROCEDURE random(VAR r,rnd:INTEGER);
BEGIN
random(400+test,a);(1)(2)
random(400-test,b);(1)(2)
writeln(‘a=',a,'b=',b);
END
错误说明:(1)赋值不相容(形参为整型,实参为实型)。
(2)形参为变量参数时实参不能为表达式。
评分标准:指出错误位置每种及错误原因说明每个各1分。
5.错误位置:PROGRAM copyarray2(input,output);
VAR a,b: ARRAY[10..1]OF INTEGER;
(1)
BEGIN
Readln(a); (2)
b:=a;
write(b); (2)
END.
错误说明;(1)数组下标的上下界必须符合下界<上界。
(2)数值型数组变量不能作为输入、输出语句参数。或说:“数值型数组不能直接整体输入、输出。”
评分标准;错误(1)指出位置及说明各1分。
错误(2)指出位置每处0.5分,说明1分。
四.阅读程序(第1、2、题各4分,第3、4题各5分,第5题7分,共25分)
1.11
2.5(2分) -5(2分)
3.5 2 7
2.7 (每个数字各1分)
1.head→(4)()→(2)()→(4)()→(6)()→(8)(nil)
(各结点值的顺序及值正确,每一结点1分,共5分)
2.3 5 7 11 13 17
每个数字各1分
五.编程题(第1、2、题各4分,第3题10分,第4、5题各6分,共30分)
1.①100 to 999(1分)
②i div 100;(1分)
③(a=b)and (a< >c)or(a=c)and(a< >b)or(b=c)and(a< >b)(2分)
2. ①n>0(或n< >0)(1分)
②n:=n div 10 (或 n:=trunc(n/10));(1分)
③inverse:=t(1分)
④inverse(n)(1分)
3. ①w:=b[i](1分)
②1 to 5(1分)
③a[j]:=w mod 10(或a[b-j]:=w mod 10)(1分)
④s:=s+a[j](1分)
⑤writeln(‘',s)(1分)
4. ①file of integer;(1分)
②eof(f1)\ 可交换次序(1分)
③eof(f2)/ (1分)
④num1< >num2(1分)
⑤eof(f1)\可交换次序(1分)
⑥eof(f2)/(1分)
5.①p∧.next< >nil(1分)
②j+1(1分)
③find:=p(1分)



软件设计师