2008年泉州五中信息技術(shù)興趣小組PASCAL語言測(cè)試題_第1頁
2008年泉州五中信息技術(shù)興趣小組PASCAL語言測(cè)試題_第2頁
2008年泉州五中信息技術(shù)興趣小組PASCAL語言測(cè)試題_第3頁
2008年泉州五中信息技術(shù)興趣小組PASCAL語言測(cè)試題_第4頁
2008年泉州五中信息技術(shù)興趣小組PASCAL語言測(cè)試題_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、2008年泉州五中信息技術(shù)興趣小組PASCAL語言測(cè)試題班級(jí)座號(hào)姓名一判斷題(每小題1分,共10分)( )1a:=3; b:=5; if a=3 and b=5 then write(true);( )2var n:integercase n of1,3,5 : writeln(odders);2,4,6 : writeln(evener);3,4,7 : writeln(other)end; ( )3var b:boolean; i,n:integer;b:=true;for i:=2 to n/2 doif n mod i=0 then b:=false; ( )4procedure pa

2、(n:integer):integer;( )5var a,b:recordx,y:realend;if a=b then writeln(all value is equal);( )6const c=100 or 50;( )7var i,j,k=integer; ch1:char; ch1:boolean;( )8function pa(n:integer);( )9const a=20; a,b=20;( )10var flag:boolean; read(flag); 二不定項(xiàng)選擇題(每小題1分,共15分)( )1假設(shè)變量b、c的聲明情況如下,選出下面正確的賦值var c:char;

3、 b:boolean;ac:=1998; bc:=1;cb:=true;dc:=1;( )2選出下面正確的表達(dá)式。 a3<>5 and 5-3=2b 5+3cchr(ord(b)d ord(2)/2 mod 2( )3已知有數(shù)組說明: var  a:array 1.10 of integer;  a中的值如下表所示:a1a2a3a4a5a6a7a8a9a101124377141042執(zhí)行語句writeln(aa7 div a3)后的輸出是a4b7 c1d12 ( )4假設(shè)變量p、q、r、s的聲明情況如下所述,且p、q、r、s都已賦值

4、,選出下面正確的表達(dá)式。var p,q:integer; r,s:real; ap:=q bp<>r cp:=r dq<>s( )5假設(shè)變量a和s按如下情況聲明,且a和s已賦值,選出正確的表達(dá)式。var s:set of 1.5; a:set of a.e; aa<>sbas= ca<> d not a in s( )6設(shè)有過程首部:procedure  f(var  x:integer;y:real); 若a,b:integer; c:real;  則合法的調(diào)用語句是af(2,3)&#

5、160;bf(2,3.0)   cf(a+b,c)df(b,2)( )7設(shè)有一函數(shù)定義如下:function high(x,y:integer):integer;      begin         high:=x-(x+y) div (x-y)      end; 執(zhí)行語句t:=high(4,high(6,high(4,1)后,變量t的值是a3 b-3c1d0 ( )8分析下面的程序,判斷a,b,c,d

6、對(duì)應(yīng)的4種語句中,正確的是program  pro(input,output); type  day=(mon,tue,wed,thu,fri);  var ah:(x1,x2,x3,wed);   w1,busy:day; beginbbusy:=mon;creadln(w1); dwriteln(w1)           end.( )9設(shè)a,  b ,  c, d均為整型變量,有

7、下面的程序段:a:=10;b:=0; read(a, b); readln(c); readln(d); 若從鍵盤輸入:7 <cr>6 5 4<cr> 3 2 1<cr> (注:<cr>表示回車) 則a、b、c、d中的數(shù)是。a7  0  6  3b7  6  5  4 c7  6  3  2 d7  6 

8、60;5  3 ( )10已知有說明var x:real;下列程序段中錯(cuò)誤的是。case x<=2.0 of0:x:=0;1:x:=1; end; a情況表達(dá)式中有常數(shù)b情況常量與情況表達(dá)式類型不一致c情況表達(dá)式為關(guān)系d賦值語句兩邊類型不一致 ( )11有下列程序 program   print(input,output); var  ch1,ch2,ch3:char;  beginreadln(ch1);     readln(ch2,ch2);  

9、0;   readln(ch3,ch3,ch3); writeln(ch1,ch2,ch3)end.若運(yùn)行時(shí)輸入red<cr>yellow<cr>blue <cr>則正確的輸出是arybbreucrdldblu( )12下列程序段中,循環(huán)體執(zhí)行的次數(shù)為i:=1; repeat n:=i*i; i:=i+1until  n>i; a1b2c3d4( )13下圖為某鏈表的一部分,下列程序段可以實(shí)現(xiàn)釋放q所指向的結(jié)點(diǎn)是ap.next:=r; dispose(q);bp:=r; dispos

10、e(q);cp.next:=q.next; dispose(q);dp:=q.next; dispose(q);( )14執(zhí)行后a的值與其他三個(gè)程序段不相同的是aa:=0;                                   

11、0;     b a:=0;i:=1; i:=1;                                          

12、60;         while i<=5 do repeat                                    

13、0;        begin       i:=i+1;                                 

14、60;                a:=a+1;       a:=a+1                         &

15、#160;                        i:=i+1until i>6;                      

16、                    end; ca:=0;                            &

17、#160;            da:=0;i:=1;for i:=1 to 5 do                           repeata:=a+1;    &#

18、160;                                   i:=i+1;             &

19、#160;                                                 &

20、#160;    a:=a+1                                            &

21、#160;                  until i>5; ( )15設(shè)有說明:type arr=array1.10 of integer;ptr=arr;var p:ptr; 若已執(zhí)行了new(p),下面合法的賦值語句是ap2:=10; bp2:=10;cp:=10;dp2:=10;三、填空題(每空1分,共15分) 1var a:array 1.10,a.e of char; a中有_個(gè)元素,每個(gè)元素是_類型。

22、 2var tool:(bike,car,motor,bus); pred(car)=_;succ(car)=_。3var p,q:integer;new(p); q:=nil;表達(dá)式p<>q的值是_,表達(dá)式p=q的值是_。4input是free pascal默認(rèn)的輸入設(shè)備,默認(rèn)指向鍵盤,現(xiàn)要更改input的指向,欲讓它指向文本文件pas.in,則需用語句來實(shí)現(xiàn);打開被input關(guān)聯(lián)的實(shí)際文件pas.in,準(zhǔn)備讀取pas.in文件的內(nèi)容需用語句實(shí)現(xiàn)。5隨機(jī)產(chǎn)生150200之間的整數(shù)的表達(dá)式是 。6如果x:=, y:= copy(x,4,5),那么y的結(jié)果為 ;length(x)的結(jié)

23、果是 。7設(shè)有集合a1,2,3,4,b1,3,5,7,c3,那么(a*b)c的值是 ,c*a+b的值是 。8設(shè)整型變量i和j的值分別為2和3,布爾變量b的值為true。表達(dá)式b(ji2) AND NOT (ij) 0R (i3 AND b的值9寫出將字符6轉(zhuǎn)換成數(shù)字6的Pascal表達(dá)式四、簡(jiǎn)答題(2分+2分+3分+3分,共10分。) 1寫一個(gè)表達(dá)式,若x滿足10-7<|x|<107,則表達(dá)式取值true,否則,取值false。(3分)2寫一個(gè)程序片段,計(jì)算1至100中能被3整除的所有整數(shù)之和。(2分)3設(shè)有一函

24、數(shù)子程序定義如下:function  f(x,y,z:integer):integer; begin f:=z-y div x;end;執(zhí)行語句cal:=f(f(2,4,6),6,8)后,變量cal的值。(2分)4var a:array1.4,1.4 of real ; 寫一程序片段,用賦值語句(即不用read過程),將下面的矩陣賦給a中元素。(3分)1.15.2 9.3 13.42.1 6.2 10.3 14.43.1 7.2 11.3 15.44.1 8.2 12.3 16.4五閱讀程序,寫出輸出結(jié)果 (每小題4分,共20分)1(4分)program exam_51;

25、var i,j:integer;a,b:array1.5 of integer;beginfor i:=1 to 5 dobeginai:=2*i-1;bi:=iend;for i:=1 to 5 dofor j:=1 to 5 doif ai=bj then write(ai:4)end.輸出:2(4分)program exam_52;var n,i,tem,t:longint; s:string;begin readln(n); s:='1' repeat i:=length(s); while si='1' do begin si:='0'

26、 dec(i); end; if i>0 then si:='1' else s:='1'+s; val(s,t,tem); until t mod n=0; writeln(n,'*', t div n,'=',s);end.輸入:6輸出:3(4分)program exam_53; var a,b,c : integer;procedure p (var x:integer; y:integer);var temp:integer;begintemp:=x div y+c;x:=temp;writeln(x:4,y:4,t

27、emp:4)end;begina:=9;b:=2;c:=3;p(a,b);writeln(a:4,b:4,c:4)end.輸出:4(4分)program exam_54;type pointer=node; node=record n:integer; next:pointer end;var i:integer; head,p,q:pointer;procedure make(var head:pointer; key:integer);var p,q,r: pointer;begin p:=head; while (key>=p.n) and (p.next<>nil)

28、do begin q:=p;p:=p.next end; new(r); r.n:=key; if key<head.n then begin r.next:=head; head:=r end else if key<p.n then begin r.next:=p; q.next:=r end else begin p.next:=r; r.next:=nil endend;procedure wlink(head:pointer);var p:pointer;begin p:=head; while p<>nil do begin write(p.n:4); p:

29、=p.next; end;end;begin head:=nil; i:=1; while i<=5 do begin new(p); p.n:=2*i; if head=nil then head:=p else q.next:=p; q:=p; i:=i+1 end; q.next:=nil; wlink(head); make(head,20); wlink(head)end.輸出:5(4分)program exam_55;var a,b:array 1.32 of integer; i:integer;procedure ssort(i,j:integer);var m,k,x:

30、integer;begin if j-i>1 then begin m:=(i+j) div 2; ssort(i,m); ssort(m+1,j); k:=i; for x:=i to m do begin bk:=ax; bk+1:=am+x-i+1; k:=k+2; end; for x:=i to j do ax:=bx; end;end;begin for i:=1 to 16 do ai:=i; ssort(1,16); for i:=1 to 16 do write(ai:3);end.輸出:六、程序填空(每空2分,共44分)1(12分),降序組合。給定兩個(gè)自然數(shù)n,r(n

31、>r),輸出從數(shù)到n中按降序順序取r個(gè)自然數(shù)的所有組合。例如,n5,r3時(shí),輸出的結(jié)果是:5 4 35 4 25 4 15 3 25 3 15 2 14 3 24 3 14 2 13 2 1程序中用a1,a2,ar表示一個(gè)降序排列的r個(gè)數(shù)的組合,要求a1>=r。為了能夠窮舉出全部降序排列的個(gè)數(shù)的組合,按遞減順序調(diào)整前一個(gè)組合的部分元素生成下一個(gè)組合,調(diào)整時(shí),當(dāng)a1=1就要回朔。上例由回朔生成下一個(gè)組合的情況,有541532,531521,521432(二次回朔),431421,421321(二次回朔)。上述過程,當(dāng)a1r1時(shí)結(jié)束。程序program exam_61;var n,r,

32、i,j:integer; a:array1.20 of integer;beginwrite('n,r=');repeat readln(n,r);until n>r;i:=1;a1:=n;writeln('result:');repeat if i<>r then if _ then begin ai+1:= _;i:=i+1; end else begin _;_; end else begin for j:=1 to r do write(aj:3); writeln; if ar=1 then begin i:=i-1;ai:=ai-1

33、; end else _; enduntil _;end.2(14分)以下程序是將一組整數(shù)按從小到大的順序排列。排序的方法是將長(zhǎng)度為n的數(shù)a分為兩個(gè)長(zhǎng)度分別為(n div 2)與(n-n div 2)的子數(shù)組a1,a2。然后遞歸調(diào)用過程,將a1,a2分別排序,最后將a1,a2歸并成數(shù)組a。例如a=(3,1,2,4),那么a1=(3,1),a2=(2,4)。調(diào)用排序過程將a1,a2排序,得到a1=(1,3),a2=(2,4)然后進(jìn)行合并排序。從鍵盤輸入數(shù)的長(zhǎng)度n以及n個(gè)整數(shù),存在數(shù)組a中,調(diào)用子過程sort進(jìn)行排序,最后輸出排序結(jié)果。program exam_62;const maxn=100;

34、type arr=array1.maxn of integer;var n,i:integer; a:arr;procedure sort(n:integer;var a:arr);var i,p1,p2,n1,n2:integer; a1,a2:arr;begin if n=1 then exit; fillchar(a1,sizeof(a1),0); fillchar(a2,sizeof(a2),0); n1:=0;n2:=0; n1:=n div 2;n2:=; for i:=1 to n1 do a1i:=ai; for i:=1 to n2 do a2i:= ; ; sort(n2,

35、a2); p1:=1;p2:=1; n:=0; while (p1<=n1) and do begin n:=n+1; if then begin an:=a1p1;inc(p1);end else begin ;inc(p2);end; end; if p1<=n1 then for i:= to n1 do begin n:=n+1;an:=a1i; end else for i:=p2 to n2 do begin n:=n+1;an:=a2i;end;end;begin write('n=');readln(n); for i:=1 to n do read

36、(ai); readln;sort(n,a); for i:=1 to n do write(ai,' '); writeln;end.3(8分)有(1<=n<=100)個(gè)同學(xué)種m(1<=n<=m<=100)種小樹苗,例如:4個(gè)同學(xué)每小時(shí)種4種樹苗的數(shù)量估算如下表所示,編程輸出每人種1種苗所用的總時(shí)間最少的安排方案和所花費(fèi)的時(shí)間。學(xué)生 苗樹abcd15245243533524243233program exam_63;const maxn=100;maxm=100;var a:array 1.maxn,1.maxm of integer; m,n:

37、integer; i,j,t:integer;procedure work(k,t1:integer);var i:integer;begin if then begin if t1<t then t:=t1; exit; end; for i:= to do work(k+1,);end;begin readln(n,m); for i:=1 to n do begin for j:=1 to m do read(ai,j); readln; end; t:=maxint; work(1,0); writeln(t);end.4(10分)程序的任務(wù)是用0.9中的數(shù)字填入如下乘法運(yùn)算的*

38、處,數(shù)字可重復(fù)使用,且所用的數(shù)字至少有一個(gè)是素?cái)?shù),要求輸出滿足下列算式的方案數(shù)。輸入:n,10 n1輸入:n個(gè)0.9的不同數(shù)字t輸出:方案數(shù) * * * * * * * * * * * * * * *program exam_64;const p:set of 0.9=2,3,5,7;var s:set of 0.9; n:integer; ans:longint;procedure init;var i:integer; t:byte;begin readln(n); s:= ; for i:=1 to n do begin read(t); s:=s+t; end;end;function ok(x,l:integer):boolean; 此函數(shù)判斷x是否符合條件var t:byte;begi

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論