📄 1998年9月二级笔试试题pascal.txt
字号:
BEGIN
x:=a+b;
y:=a-b;
END;
BEGIN
a:=1;
b:=2;
proc2(a,b)
Writeln(a:3,b:3)
END.
C)PROGRAM three (Output);
VAR a,b:Integer;
PROCEDURE proc3(x:Integer;VAR y:Integer);
BEGIN
x:=a+b;
y:=a-b;
END;
BEGIN
a:=1;
b:=2;
proc3(a,b)
Writeln(a:3,b:3)
END.
D)PROGRAM four (Output);
VAR a,b:Integer;
PROCEDURE proc4(x:Integer;VAR y:Integer);
BEGIN
x:=a+b;
y:=a-b;
END;
BEGIN
a:=1;
b:=2;
proc4(a,b)
Writeln(a:3,b:3)
END.
(47)设有过程p1的说明如下(仅给出过程的主要部分)
PROCEDURE p1;
VAR a,b: Integer;
c,d:Char;
PROCEDURE p2 (VAR e:Integer);
VAR b,f:Real;
BEGIN
...
END;
BEGIN
...
END.
在过程p2中,对变量e最适当的描述是
A)e是一个值型参数. B)e是一个全局变量.
C)e是一个形式参数. D)e是一个实际参数.
(48)已知有过程:
PROCEDURE graph(hight:Integer; ch1,ch2:Char);
VAR i,j: Integer;
BEGIN
FOR i:=1 TO hight DO
BEGIN
Write(ch1:10-i);
FOR j:=1 TO 2*i-3 DO
Write(ch2);
IF i=1 THEN
Writeln
ELSE
Writeln (ch1)
END
END;
若在主程序中执行graph(6,'*','+')则输出图形是
A) * B)*+++++++++*
*+* *+++++++*
*+++* *+++++*
*+++++* *+++*
*+++++++* *+*
* * * * * * *
C) + D) *
+*+ *+*
+***+ *+++*
+*****+ *+++++*
+*******+ *+++++++*
+*********+ *+++++++++*
(49)已知有函数f1如下:
FUNCTION f1(a,b:Integer):Integer;
BEGIN
IF b=0 THEN
f1:=a
ELSE
f1:=f1(Pred(a),Pred(b))
END;
执行 Writeln(f1(10,6));后的输出是
A)4 B)6 C)10 D)16
(50)程序PROGRAM p1(Output);
VAR a:ARRAY[1..4]OF Char;
c,ch:Char;
BEGIN
FOR ch:='A' TO 'D' DO
a[Ord(ch)-Ord('A')+1]:=ch;
FOR ch:='A' TO 'D' DO
BEGIN
FOR c:=ch TO'D'DO
Write(a[Ord(c)-Ord('A')+1];
Writeln
END
END.
的输出是
A)A B)D C)ABCD D)ABCD
B C ABC BCD
C B AB CD
D A A D
二.填空题(将每空的正确答案写在答题卡上1--20的序号横线上, 答在试 卷上不得分.)
(1)自动批处理文件名为 1
_____
(2)DOS命令分为内部命令与外部命令,COMP命令属于 2 命令
_____
(3)设当前盘为C盘,现要用一条DOS命令在打印机上输出A盘当前目录下所 有扩展名为.DAT的文件内容.这一条DOS命令为 3
_____
(4)要将当前盘当前目录下的子目录XYZ中所有扩展名为.BAK 的文件名改 成扩展名为.FOR,应使用的DOS命令为 4
______
(5)设DOS外部命令文件所在的路径均已用PATH命令打通.现要将当前盘当 前目录下的文件WST.TXT设置为只读属性,应使用的DOS命令为 5
___
(6)下面计算并输出下式中s 的值
请填空完成程序.
PROGRAM t6(Input,Output);
VAR k,n:Integer;
s,r:Real;
BEGIN
s: 6
______
FOR k:=2 TO 20 DO
BEGIN
r:=0;
FOR n:=1 TO 7 DO
_____
r:=r+Ln(n);
s:=s+ 8
___
END;
Writeln(s:10:3)
END.
(7)下面的程序将n个学生的英文成绩从键盘输入,按0-59分,60-69分
70-79分,80-89分90-100分,分组统计人数.
PROGRAM exam2(Input,Output);
CONST n=20;
VAR i,k:Integer;
s:ARRAY[1..5]OF Integer;
a:ARRAY[1..N]OF Integer;
BEGIN
FOR i:=1 TO 9 DO
_____
s[i]:=0;
FOR i:= 1 TO 10 DO
____
BEGIN
11;
____
IF a[i]=90 THEN k:=1
ELSE IF a[i]=80 THEN k:=2
ELSE IF a[i]=70 THEN k:=3
ELSE IF a[i]=60 THEN k:=4
ELSE k:=5;
s[k]:= 12
______
END;
Readln;
FOR i:=1 TO 5 DO
Write (s[i]:3);
Writeln
END.
(8)从键盘输入两个数x1,x2,判断它们是否互质.
判断两数是否互质的方法是:设大数为x1,小数为x2,如果x1/x2为整数 则非互质;如果x2和x1能同时被2--x2/2间任一整数整除,则x1 和x2
也非互质.其它情况均为互质.
PROGRAM sj11(Input,Output);
VAR x1,x2,t,n,i:Integer;
yes:Boolean;
BEGIN
Write('Please input x1,x2');
Readln(x1,x2);
IF ( 13 ) THEN
_________
BEGIN
t:=x1;x1:=x2;x2:=t
END;
yes:=True;
IF (x1 MOD x2) =0 THEN
yes :=False
ELSE BEGIN
n:=x2 DIV 2;
FOR i:=2 TO 14 DO
_____
IF 15 THEN
____
yes:=False
END;
IF 16 THEN
____
Writeln('They are mutual prime numbers') {x1,x2互质}
ELSE
Writeln('They are not mutual prime numbers') {x1,x2互质}
END.
(9)已知有说明:TYPE ptr=^rec;
rec=RECORD
data:Integer;
next:ptr
END;
函数append可建立一个无重复结点的单链表,即该函数检查已建立的结点中是否 有da
(9)已知有说明:TYPE ptr=^rec; rec=RECORD datd:lnteger;
next:ptr
END;
函append可建立一个无重复结点的单链表,即该函数检查已建立的结点中是否有data或与n相等的节点.若有这样的节点则原链表不变,并返回假,否则以n作为一个新节点链接在原链表之后,并返回真.
PUNCTION append (VAR head:ptr;n:lnteger):Boolean;
VAR r,p,q:ptr; linked:Boolean;
BEGIN linkcd:=True;New(q); q^.next:=NIL;q^.data:=n;
IF head=NIL THEN 17 :=q
────
ELSE BEGIN
p:=head;
REPEAT r:=p;
IF p^.data=n THEN
linked:=False
ELSE
IF 18〈〉NIL THEN
────
p:=p^.ncxt
UNTIL ( 19 ) OR NOT linkcd;
────
IF linked THEN 20 :=q
───
ELSE Dinked (q)
END; append:=linked
END; 1998年9月全国计算机等级考试二级笔试试卷
基础知识和Pascal语言程序设计
答案及评分标准
一. 选择题((1)~(40)题,每题1分;(41)~(50)题,每题2分,共60分)
(1)B (2)B (3)D (4)D (5)B
(6)A (7)B (8)C (9)D (10)A
(11)D (12)C (13)A (14)B (15)D
(16)C (17)B (18)A (19)A (20)A
(21)B (22)D (23)A (24)B (25)C
(26)C (27)A (28)A (29)B (30)D
(31)D (32)B (33)D (34)D (35)A
(36)B (37)B (38)B (39)B (40)B
(41)D (42)C (43)C (44)D (45)C
(46)C (47)C (48)D (49)A (50)D
二.填空题 (│ 1 │~ │ 20 │每空2分,共40分)
(1)~(5)题中所有字母都允许大、小写或大小写混合
(1)┌──┐
│ 1 │ AUTOEXEC.BAT
(2)┌──┐
│ 2 │ 外部(答外部命不扣分)
(3)┌──┐
│ 3 │ COPY A:*.DAT PRN
└──┘ (在COPY后面与A:*.DAT后面都至少要一具空格)
(4)┌──┐
│ 4 │ REN XYZ\*.BAK*.FOR或RENAME XYZ\*.BAK*.FOR └──┘ (在REN或RENAME后面一XYZ\*.BAK后面都至少要有一个空格)
(5)┌──┐
│ 5 │ ATTRIB + R WST.TXT
└──┘ (在ATTRIB后面与 +R 后面都至少要有一个空格) 或ATTRIB WST.TXT +R
(在ATTRIB后面与WST.TXT后面都至少要有一个空格)
(6)┌──┐
│ 6 │ 0
│ 7 │ k
│ 8 │ Ln(r)或Ln(r);
(7)┌──┐
│ 9 │ 5
└──┘
│ 10 │ n
│ 11 │ Read(a[i])或Readln(a[i])
└──┘
│ 12 │ s[k]+1或s[k]+1;或succ(s[k])或succ(s[k]);
(8)┌──┐
│ 13 │ x1〈x2或x1〈=x2或not(x2〈x1)或not(x2〈=x1)
│ 14 │ n或x2 div 2或 sqrt(x2)或n~x2 -1中的整数广
│ 15 │ (x1 MODi=0)AND(x2 MODi=0)或
└──┘ (x2 MODi=0)AND(x1 MODi=0)或
((x1 MODi)=0)AND((X2 MODi)=0)或
((x2 MODi)=0)AND((x1 MODi)=0)
│ 16 │ yes或yes=True或not(yes=false)或yes〈〉false
(9)┌──┐
│ 17 │ head
│ 18 │ p^.next
┌──┐
│ 19 │ r^.next=nil或not(r^.next〈〉nil)
│ 20 │ p^.next
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -