?? 2001年4月二級(jí)筆試試題pasca.txt
字號(hào):
r2=RECORD
a:r1;
b:Integer;
END;
VAR t:r2;
下列語句中錯(cuò)誤的是
A)Read(t.a.x); B) WITH t DO
Read(a.x);
C) WITH r2, r1 DO; D) WITH t, a DO;
Read(x); Read(x);
(44) 有如下函數(shù)
FUNCTION s(VAR f:Text): Integer;
VAR num:Integer;
BEGIN
Reset(f);
num:=0;
WHILE NOT Eof(f) DO
BEGIN
Readln(f);
num:=num+1
END;
s:=num
END;
該函數(shù)的功能是
A)統(tǒng)計(jì)文本文件中文本的行數(shù)
B)統(tǒng)計(jì)文本文件中每行的字符數(shù)
C)將文件指針調(diào)整到文件的最后一行開始位置,并返回該行的字符個(gè)數(shù)
D)統(tǒng)計(jì)文本文件中字符總數(shù)
(45) 有如下5行語句
IF year MOD 4=0 THEN
IF year MOD 100<>0 THEN leap:=1
ELSE IF year MOD 400=0 THEN leap:=1
ELSE leap:=0
ELSE leap:=0
與上述5行語句等價(jià)的語句是
A)IF(year MOD 4=0)AND(year MOD 100=0) THEN leap:=1
ELSE leap:=0;
B)IF( year MOD 4=0) AND(year MOD 100<>0) OR (year MOD 400=0)
THEN leap:=1 ELSE leap:=0;
C)IF(year MOD 4=0) OR(year MOD 400=0) THEN leap:=1
ELSE leap:=0;
D)IF( year MOD 4=0) AND(year MOD 400=0)OR NOT (year MOD 100=0)
THEN leap:=1 ELSE leap:=0;
(46) 有如下程序
PROGRAM p46(Input,Output);
VAR p1,p2,p3:^Interger,
BEGIN
New(p1);New(p2);New(p3);
p1^:=3; p2^:=5; p3^:=7;
p1:=p2;p2:=p3; p3:=p1;
Writeln(p1^:3,p2^:3,p3^:3);
END.
該程序的運(yùn)行結(jié)果是
A) 5 7 5 B) 3 5 7 C) 5 7 3 D) 5 5 7
(47) 沒有下列函數(shù)說明
FUNCTION func(n:integer):integer;
BEGIN
IF n=0 THEN func:=0
ELSE IF n=1 THEN func:=2
ELSE func:=func(n-1)+func(n-2)
END;
表達(dá)式func(5)的值是
A) 8 B) 6 C) 10 D) 12
(48) 下列變量說明中正確的是
A) VAR a:RECORD B) VAR a:RECORD
a,b;Integer; a,b:Integer
CASE flag:(x,y,z) OF CASE flag:(a,b,c) OF
x:( ); a:( )
y:(a:Integer); b:(x:Integer);
z:(b,c:Integer) c:(y,z:Integer)
END; END;
C) VAR a:RECORD D) VAR a:RECORD
n,m:Integer; a,b:Integer;
CASE flag(a,b,c) OF CAST flag:(x,y,z) OF
a:( ); x:( );
b:(x:Integer); y:(x:Integer);
c:(y,z:integer) z:(y,z:Integer)
END; END;
(49) 能正確輸出 A B C D E F 的程序段是
A)loop:='A'; B) loop:='F'
WHILE loop<='F' DO WHILE loop>'A' DO
BEGIN BEGIN
Writeln(loop,''); Write(loop,'');
loop:=Succ(loop) loop:=Pred(loop)
END; END;
C) loop:='A'; D) loop:='A'
WHILE loop<='F' DO WHILE loop<F DO
BEGIN BEGIN
Write(loop,''); Write(loop,'');
loop:=Succ(loop) loop:=Succ(loop)
END; END;
(50) 有下面程序段
IF x>=5 THEN
IF y<3 THEN z:=1
ELSE z:=2
ELSE
IF y<2 THEN z:=3
ELSE z:=4;
該程序段執(zhí)行后,變量z的值變?yōu)?,那么,變量x,y的值只能是
A) 6 1 B) 2 2 C) 1 1 D) 3 3
二、填空題(每空2分,共40分)
請將每一個(gè)空的正確答案寫在答題卡【1】至【20】序號(hào)的橫線上,答在試卷上不得分
(1) 計(jì)算機(jī)機(jī)領(lǐng)域中,通常用英文單詞"Byte"表示 【1】 。
(2) 在DOS環(huán)境下,自動(dòng)批處理的文件名為 【2】 。
(3) 要將當(dāng)前盤當(dāng)前目錄下所有擴(kuò)展名為.TXT的文件內(nèi)容在打印機(jī)上打印輸出,應(yīng)使用的單條DOS內(nèi)部命令為 【3】 。
(4) 在Windows環(huán)境下,可以利用單擊、雙擊、拖動(dòng)這三種鼠標(biāo)操作之一的 【4】 操作實(shí)現(xiàn)窗口的移動(dòng)。
(5) 在Windows環(huán)境下,可以將窗口最小化為 【5】 。
(6) 設(shè)有類型說明 TYPE arr=ARRAY[1..20] OF Integer;過程proc的作用是把數(shù)組a中下標(biāo)為奇數(shù)的元素中的數(shù)按升序排序,排序結(jié)果仍放在下標(biāo)為奇數(shù)的元素中,請?zhí)羁胀瓿伞?PROCEDURE proc(VAR a:arr);
VAR i,j,k,temp:Integer;
BEGIN
FOR i:=1 TO 10 DO
BEGIN
k:= 【6】
FOR j:=i TO 10 DO
IF a[k]>a[2*j-1] THEN
k:= 【7】
temp:= a[k]; a[k]:=a[2*j-1];a[2*i-1]:=temp;
END;
END;
(7) 哥德赫猜想是:任意一個(gè)不小于6的偶數(shù)可以表示為2個(gè)素?cái)?shù)之和。下面程序從鍵盤接受一個(gè)不小于6的偶數(shù),找出組成它的2個(gè)素?cái)?shù)輸出。例如:若輸入12,則輸出12=7+5請?zhí)羁胀瓿?
PROGRAM p1(Input,Output);
VAR a,b,x:Interger;
FUNCTION isprime(n:Integer):Boolean;
VAR k:Integer;
prime:Boolean;
BEGIN
prime:=n>1;
FOR k:=2 T0 n DIV 2 DO
prime:= 【8】 AND (n MOD k<>0);
isprime:=prime
END;
BEGIN
REPEAT
Readln(x) ;
UNTIL NOT Odd(x)AND(x>5);
a:=x;
REPEAT
REPEAT
a: =a-1;
UNTIL 【9】 ;
b:= 【10】 ;
UNTIL isprime(b);
Writeln(x,'=',a,'+',b)
END.
(8) 下面程序的功能是對鍵盤輸入的一串小寫字母加密,加密方法是:把要加密的字母后移x個(gè)字母(若已后移到'z',再后移就成為'a'),而x等于該字母在字母表中的順序號(hào)。例如:
'a'的順序號(hào)為1,則后移1個(gè)字母,成為'b';
'b'的順序號(hào)為2,則后移2個(gè)字母,成為'd';
'y'的順序號(hào)為25,則后移25個(gè)字母,成為'x';
'z'的順序號(hào)為26,則后移26個(gè)字母,成為'z'。
若輸入'abcdefgxyz',則輸出'bdfhjlnvxz'。請?zhí)羁胀瓿伞? PROGRAM p3(Input,Output);
VAR i,j,k,n:Integer;
ch:Char;
a,b:ARRAY[1..80] OF Char;
BEGIN
k:=1; Read(a[k]);
WHILE NOT Eoln DO
BEGIN
k:=k+1;Read(a[k])
END;
Readln;
FOR i:=1 TO k DO
BEGIN
IF a[i] IN ['a'..'z'] THEN
BEGIN
n:=Ord(a[i]-Ord('a');
FOR j:=1 TO 【11】 DO
IF a[j]:='z' THEN
a[i]:= 【12】
ELSE
a[i]:= 【13】 ;
END;
Write(a[i]);
END;
Writeln
END.
(9) 過程create的作用是從鍵盤輸入若干個(gè)字符(輸入'*'時(shí)結(jié)束),然后建立一個(gè)單循壞鏈表,鏈表的每個(gè)節(jié)點(diǎn)上有一個(gè)字符(不含'*'字符),變參head指向鏈表的某個(gè)節(jié)點(diǎn)。請?zhí)羁胀瓿伞?TYPE link=^node;
node=RECORD
data:Char;
next:link
END;
PROCEDURE create(VAR head:link);
VAR p,q:link; ch:Char;
BEGIN
p:=NIL;
Read(ch);
WHILE ch<>'*' DO
BEGIN
New(head);
head^.data:=ch;
head^.next:= 【14】 ;
I F p=NIL THEN
q:= 【15】
p:=head; Read(ch)
END;
IF p<>NIL THEN
q^.next:= 【16】 ;
END;
(10) 隨機(jī)文件students.dat中存放的是若干個(gè)學(xué)生的學(xué)號(hào)、姓名和班號(hào),文件中記錄的順序是按學(xué)號(hào)以升序排序的。下面的程序從鍵盤接受一個(gè)學(xué)號(hào),再用對半查找的方法在文件中找出該學(xué)號(hào)的學(xué)生并輸出其姓名,若沒找到,則輸出'Not found!'。請?zhí)羁胀瓿伞?PROGRAM search(Input Output);
TYPE rec=RECORD
number :Integer; {學(xué)號(hào)}
name :STRING; {姓名}
class :STRING; {班號(hào)}
END;
VAR f: 【17】 ;
a:rec;
x,top,bottom,mid;Integer;
BEGIN
Writeln('Input a number:');
Readln(x);
Assign(f,'students.dat');
【18】 ;
top:=0 bottom:=Filesize(f)-1;
REPEAT
mid:=(top+bottom) DIV 2;
Seek( 【19】 );
Read(f,a);
IF a.number>x THEN
Bottom:=mid-1
ELSE
IF a.number<x THEN
top:=mid+1
UNTIL( 【20】 ) OR (x=a.number);
Close(f);
IF x=a.number THEN
Writeln(a.name)
ELSE
Writeln('Not found!')
END.
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -