資源簡介 信息學競賽普及組初賽模擬試題(二)(pascal語言)限時2小時完成,滿分100分一、選擇題:(共20小題,1-15小題為單選題,每題1分;16-20小題為多選題,每題2分。共25分)1.對存儲器按字節進行編址,若某存儲器芯片共有10根地址線的引腳,則該存儲器芯片的存儲容量為( 。 (A) 512B (B) 1KB (C) 2KB (D)4KB (E)8KB2.在待排序的數據表已經為有序時,下列排序算法中花費時間反而多的是( 。 (A)堆排序 (B)希爾排序 (C)冒泡排序 (D)快速排序 (E)二分排序3.某數列有1000個各不相同的單元,由低至高按序排列,現要對該數列進行二分法檢索,在最壞的情況下,需要檢索( 單元。 (A)1000 (B)10 (C)100 (D)500 (E) 3004.已知數組a中,每個元素a[i,j]在存儲時要占3個字節,設i從1變化到8,j從1變化到10,分配內存實是從地址sa開始連續按行存儲分配的。試問:a[5,8]的起始地址為( 。 (A)sa+141 (B)sa+180 (C)sa+222 (D)sa+225 (E)sa+1555.在pascal語言過程調用時,數值形參得到的是實際參數的( 。 (A) 數值 (B) 地址 (C)值 (D)變量 (E)以上都不是6.一個24*24點陣的漢字字形信息所占的字節數為( 。 (A) 2 (B) 8 (C) 24 (D) 32 (E) 727. 在微機系統中,最基本的輸入輸出模塊BIOS存放在( 中。 (A) RAM (B) ROM (C) 硬盤 (D)寄存器 (E)控制器8. 十進制算術表達式:3*512+5*64+2*8+1的運算中,用二進制表示為( 。 (A)1011010001 (B) 10110100011 (C) 11101010001 (D) 11110100011 (E)1110009.設棧S的初始狀態為空,現對序列{1,2,3,4,5}在棧S上,依次進行如下操作(從元素1開始,出棧后不再進棧):進棧,出棧,進棧,進棧,出棧,出棧。試問出棧的元素序列是( 。 (A){1,2,3} B) {1,3,2} C) {3,2,1} D) {2,3,1} (E)以上都不對10.E-mail郵件本質上是一個( (A)文件 (B)電報 (C)電話 (D)傳真 (E)電訊11.一棵二叉樹的高度為h,所有結點的度為0,或為2,則此樹最少有( 個結點 (A)2h-1 (B)2h-1 (C)2h+1 (D)h+1 (E)h*h+112.無向圖G=(V,E),其中V={a,b,c,d,e,f} E={(a,b),(a,e),(a,c),(b,e),(c,f),(f,d),(e,d)}對該圖進行深度優先遍歷,得到的頂點序列正確的是( (A)a,b,e,c,d,f (B)a,c,f,e,b,d (C)a,e,b,c,f,d (D)a,b,e,d,f,c (E)以上都不對13.pascal 編譯程序是( (A). 把pascal 源程序轉換成可運行的EXE文件的程序 (B). 把pascal 源程序轉換成等價的目標碼的程序 (C). 生成和修改一個pascal語言源程序的等程序 (D). 把pascal的目標碼程序轉換成可運行的EXE文件的程序 (E). 生成一個等價的匯編程序14. 將三封信投到4個郵筒,最多的投法有( ) (A). 種 (B). 種 (C). 種 (D).34種 E. 15. 電子信函(電子郵件)的特點之一是( )。 (A).比郵政信函,電報,電話,傳真都更快 (B).在通信雙方的計算機之間建立其直接的通信線路后即可快速傳遞數字信息 (C).采用存儲-轉發方式在網絡上逐步傳遞信息,不象電話那樣直接、及時,但費用低廉 (D).在通信雙方的計算機都開機工作的情況下即可快速傳遞數字信息 16. 以下屬于多媒體硬件的是( )(A).主機 (B).光驅 (C).聲卡 (D). 音箱 (E). 超級解霸17. 正確的二維數組類型說明是( )(A) type ar2=array[1..5,5..1] of integer;(B) type ar2=array[1..5] of array[5.1] of integer;(C) type ar2=array[1..5,1..5] of integer; (D)type ar2=array[1..5] of array[1..5] of integer (E)type ar2=array[1..5,1..5] of 0..118.下列屬于信息處理的是( ) (A)信息加工 (B)信息分類 (C)信息技術 (D)信息采集 (E)信息存儲19.在windows中,最小化一個應用程序窗口后,該程序將( )。 (A)被終止執行 (B) 被暫停執行 (C)被轉入后臺 (D)繼續執行 (E)以上答案都不對20. 下面的常量說明中,正確的是( )(A)CONST (B)、CONST (C)、CONST (D)、CONST (E)CONSTt = true b, C = 45 M = 100,15 N = 1 OR 2 a= ’A’二、問題求解:(第1小題5分,第2-3小題各4分,共13分)[問題1]: 在所有三位數中,各位數字從高位到低位順次減小的數共有 個。[問題2]:"銀條" 一位銀礦勘探員無力預付3月份的房租。他有一根長31英寸的純銀條,因此他和女房東達成如下協議。他說,他將把銀條切成小段。3月份的第一天,他給女房東1英寸長的一段,然后每天給她增加1英寸,以此作為抵押。勘探員預期到3月份的最后一天,他能全數付清租金,而屆時女房東將把銀條小段全部還給他。3月份有31天,一種辦法是把銀條切成31段,每段長1英寸。可是這處花很多功夫。勘探員希望既履行協議,又能使銀條的分段數目盡量減少。例如,他可以第一天給女房東1英寸的一段,第二天再給1英寸的一段,第三開他取回這兩段1英寸的而給她3英寸的一段。假設銀條的各段是按照這種方式來回倒換的話,勘探員至少需要把他的銀條切成______段?[問題3]:"換不開的鈔票" 錢柜里有1.15美分,一位顧客提出:把1美元的鈔票換成硬幣,但出納小姐說換不開,后來這位顧客提出:把50美分的鈔票換成硬幣,但出納小姐又說換不開,而實際上,出納小姐也無法把25美分、10美分、5美分的鈔票換成硬幣。請問錢柜里到底有哪些硬幣?他們分別有多少枚? 答:_________________。三、寫出程序的運行結果:(每小題6分,共30分)1. program text1; const n=6;m=3; var i,j,k:integer; begin for i:=-n to n do begin k:=n-abs(i); write(' ': 39-k); for j:=-k to k do if abs(j)>k-m then write(n-(i+n)div 2) else write(' '); writeln; end; end. 輸出的結果為:2. PROGAM text2;VAR a:ARRAY[1..10] OF Char;k:Integer; ch:Char;BEGINFOR k:=1 TO 10 DO a[k]:=Chr(Ord('A')+k);FOR k:=1 TO 10 DOBEGINch:=a[k];a[k]:=a[11-k];a[11-k]:=ch;END;FOR k:=1 TO 10 DO Write(a[k]);WritelnEND.輸出的結果為: 3. program text3(input,output); Var m,n,p:integer; x:real; procedure mm(var m:integer;x:real); var n:integer; begin m:=m+1; n:=m+1; x:=n*3; p:=n; end; begin m:=8;n:=5;p:=3;x:=1.0; mm(n,x); writeln (m:5,n:5,p:5,x:6:1); end. 輸出的結果為:4. program text4;const n=5;type ary=array[0..n-1,0..n-1]of integer;var a:ary;i,j,k:integer;begin for i:=0 to n-1 do for j:=0 to n-1 do a[i,j]:=0;k:=1; for i:=1 to n do for j:=n-1 downto i do begin a[j,j-i]:=k; k:=k+1; end; for i:=0 to n-1 do begin for j:=0 to n-1 do write(a[I,j]:4); writeln; end; end. 輸出的結果為:5.program text5(input,output);var ch:char;i,n,sum:integer;begin sum:=0;read(ch);case ch of 'A':for i:=4 to 6 do begin read(n): sum:=sum+n end; 'B':begin read(n); for i:=1 to n do begin read(n);sum:=sum+n end; end; 'C':repeat read(n);sum:=sum+n until sum>10; 'D':begin read(n); while n<=3 do begin sum:=sum+n;read(n) end end end; writeln(sum:4)end.當程序運行(1) 輸入 A 4 1 2 3 4 5 6 7 8 9時,其輸出為_____________。(2) 輸入 B 4 1 2 3 4 5 6 7 8 9時,其輸出為_____________。(3) 輸入 C 4 1 2 3 4 5 6 7 8 9時,其輸出為_____________。(4) 輸入 D 4 1 2 3 4 5 6 7 8 9時,其輸出為_____________。四、完善程序(第1題每空2分第2、3題每空3分,共32分)第1題 孿生素數是指兩個相差為2的素數,例如:3和5,5和7,11和13等。下面程序可輸出15對孿生素數,其中函數q判斷整數a是否為素數。program p(output); var k,n:integer function q (a:integer):booklean; var k:integer; flag:boolean; begin flag:___(1)____ k:=2 ___(2)____ (k<=a div 2) and flag do if a mod k=0 then ______(3)_______ else k:=k+1 q:=flag end; begin n:=0; k:=2; repeat if q(k) and ___(4)___ then begin n:=n+1; writeln(k,k+2) end; k:=K+1 until n=5 end.第二題 已知有類型arr=array[1..16] of string; arr型數組a中存放著從第1屆到第16屆足球世界杯冠軍國家的名字,下面的函數可求出歷界世界杯比賽共有幾個國家曾獲得過世界杯冠軍,請填空完成。 Function text2(a:arr):integer; var k,j,s:integer; mult:boolean; begin ___(5)___; for j:=2 to 16 do begin k:=1; mult:=false; while not mult and ___(6)___ do if ___(7)__ then mult:=ture else k:=k+1; if not mult then s:=___(8)___ end; text2:=s end;第三題 Fibonacci(裴波那契)數列的規律是:前2個數均為1,從第3個數開始每個數等于它前面兩個數之和,即:1,1,2,3,5,8,13,21,34,55,89,144,233,377,...。已知任意一個大于0的整數可以表示為若干個互不相同的fibonacci之數和。 例如:121=89+21+8+3下面的程序是由鍵盤輸入一個正整數n,輸出組成n的互不相同的fibonacci數。例如:若輸入121則輸入121=+89+21+8+3本程序的算法如下:(n=121為例)1)尋找小于或等于n的最大的fibonacci數a(例如89),并以a作為組成n的一個數輸出。2)若n≠a則以n-a作為新的任意正整數(例如32),重復步驟1.若n=a,則結束。程序中的函數find返回小于或等于n的最大的fibonacci數。program text3(input,output);var n:integer;function find(n:integer):integer;var a,b,c:integer;begin a:=1; b:=1; repeat c:=___(9)___; a:=b;b:=c; until b>=n; if b=n then find:=___(10)___ else find:=___(11)___end;procedure p(n:integer);var a:integer;begin a:=find(n); write('+',a:4); if a p ___(12)___ end; begin readln(n); write(n:5,'='); p(n); writeln end.南海信息學競賽初中組初賽模擬試題參考答案一、選擇題:(本題共20小題,1-15小題為單選題,每題1分;16-20小題為多選題,每題2分。共25分)題號 1 2 3 4 5 6 7 8 9 10 答案 B D B A B E B C B A 題號 11 12 13 14 15 答案 B D B C C 題號 16 17 18 19 20 答案 ABCD CE ABDE CD AE 二、問題求解:(第1小題3分,第2-3小題各5分,共13分)[問題1]: 120 [問題2]: 5 [問題3]: 50美分1枚,25美分1枚,10美分4枚,5美分1枚,1美分4枚 三、寫出程序的運行結果:(每小題6分,共30分)1、輸出結果為: 2、輸出結果為: BCDEFGHIJK 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 43 3 3 3 3 3 3 3 3 3 3 3 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 0 3、輸出結果為: 4、輸出結果為:8 6 7 1.0 0 0 0 0 0 4 0 0 0 0 7 3 0 0 0 9 6 2 0 0 10 8 5 1 05、當程序運行(1) 輸入 A 4 1 2 3 4 5 6 7 8 9時,其輸出為______7_____。(2) 輸入 B 4 1 2 3 4 5 6 7 8 9時,其輸出為______10____。(3) 輸入 C 4 1 2 3 4 5 6 7 8 9時,其輸出為_______14___。(4) 輸入 D 4 1 2 3 4 5 6 7 8 9時,其輸出為________0___。四、完善程序(第1題每空2分第2、3題每空3分,共32分)第1題 (1) true (2) while (3) flag:=false (4) F(K+2)=true或F(K+2) 第2題 (5) s:=1 (6) (k (7) a[j]=a[k] (8) s+1或s+1;或succ(s) 第3題 (9) a+b或b+a (10) b或c或n (11) a或a; (12) n-a 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫