資源簡(jiǎn)介 第十三屆全國(guó)青少年信息學(xué)奧林匹克聯(lián)賽初賽試題( 普及組 Pascal 語(yǔ)言 二小時(shí)完成 ) ●● 全部試題答案均要求寫(xiě)在答卷紙上,寫(xiě)在試卷紙上一律無(wú)效 ●● 一、 單項(xiàng)選擇題 (共 10 題,每題 1.5 分,共計(jì) 15 分。每題有且僅有一個(gè)正確答案.)。 1. 在以下各項(xiàng)中。( )不是 CPU 的組成部分。A. 控制器 B. 運(yùn)算器 C. 寄存器 D. 主板 2. 在關(guān)系數(shù)據(jù)庫(kù)中, 存放在數(shù)據(jù)庫(kù)中的數(shù)據(jù)的邏輯結(jié)構(gòu)以( )為主。A. 二叉樹(shù) B. 多叉樹(shù) C. 哈希表 D. 二維表 3.在下列各項(xiàng)中,只有( )不是計(jì)算機(jī)存儲(chǔ)容量的常用單位。A. Byte B. KB C. UB D. TB 4.ASCII碼的含義是( )。A. 二—十進(jìn)制轉(zhuǎn)換碼 B. 美國(guó)信息交換標(biāo)準(zhǔn)代碼 C. 數(shù)字的二進(jìn)制數(shù)碼D. 計(jì)算機(jī)可處理字符的唯一編碼 5.一個(gè)完整的計(jì)算機(jī)系統(tǒng)應(yīng)包括( )A.系統(tǒng)硬件和系統(tǒng)軟件 B. 硬件系統(tǒng)和軟件系統(tǒng)C.主機(jī)和外部設(shè)備 D.主機(jī)、鍵盤、顯示器和輔助存儲(chǔ)器 6.IT的含義是( )A.通信技術(shù) B. 信息技術(shù) C. 網(wǎng)絡(luò)技術(shù) D. 信息學(xué)7. LAN的含義是( )。A. 因特網(wǎng) B. 局域網(wǎng) C. 廣域網(wǎng) D. 城域網(wǎng) 8. 冗余數(shù)據(jù)是指可以由以他數(shù)據(jù)導(dǎo)出的數(shù)據(jù),例如,數(shù)據(jù)庫(kù)中已存放了學(xué)生的數(shù)學(xué)、語(yǔ)文、和英語(yǔ)的三科成績(jī),如果還存放三科成績(jī)的總分,則總分就可以看做冗余數(shù)據(jù)。冗余數(shù)據(jù)往往會(huì)造成數(shù)據(jù)的不一致,例如上面4個(gè)數(shù)據(jù)如果都是輸入的,由于操作錯(cuò)誤使總分不等于三科成績(jī)之和,就會(huì)產(chǎn)生矛盾。下面關(guān)于冗余數(shù)據(jù)的說(shuō)法中, 正確的是( )。A. 應(yīng)該在數(shù)據(jù)庫(kù)中消除一切冗余數(shù)據(jù)B.用高級(jí)語(yǔ)言編寫(xiě)的數(shù)據(jù)處理系統(tǒng), 通常比用關(guān)系數(shù)據(jù)庫(kù)編寫(xiě)的系統(tǒng)更容易消除冗余數(shù)據(jù)C. 為了提高查詢效率, 在數(shù)據(jù)庫(kù)中可以適當(dāng)保留一些冗余數(shù)據(jù), 但更新時(shí)要做相容性檢驗(yàn)D. 做相容性檢驗(yàn)會(huì)降低效率, 可以不理睬數(shù)據(jù)庫(kù)中的冗余數(shù)據(jù) 9. 在下列各軟件中,屬于 NOIP 競(jìng)賽(復(fù)賽)推薦使用的語(yǔ)言環(huán)境有( )。 A. gcc B. g++C. Turbo C D. free pascal10. 以下斷電之后將仍能保存數(shù)據(jù)的有( )。A. 硬盤 B. 高速緩存 C. 顯存 D. RAM11. 在下列關(guān)于計(jì)算機(jī)語(yǔ)言的說(shuō)法中,正確的有( )。A. 高級(jí)語(yǔ)言比匯編語(yǔ)言更高級(jí), 是因?yàn)樗某绦虻倪\(yùn)行效率更高B. 隨著Pascal、C等高級(jí)語(yǔ)言的出現(xiàn), 機(jī)器語(yǔ)言和匯編語(yǔ)言已經(jīng)退出了歷史舞臺(tái)C. 高級(jí)語(yǔ)言程序比匯編語(yǔ)言程序更容易從一種計(jì)算機(jī)移植到另一種計(jì)算機(jī)上D. C是一種面向過(guò)程的高級(jí)計(jì)算機(jī)語(yǔ)言 12. 近20年來(lái), 許多計(jì)算機(jī)專家都大力推崇遞歸算法,認(rèn)為它是解決較復(fù)雜問(wèn)題的強(qiáng)有力的工具. 在下列關(guān)于遞歸的說(shuō)法中, 正確的是( )。A. 在1977年前后形成標(biāo)準(zhǔn)的計(jì)算機(jī)高級(jí)語(yǔ)言"FORTRAN77"禁止在程序使用遞歸, 原因之一是該方法可能會(huì)占用更多的內(nèi)存空間.B. 和非遞歸算法相比, 解決同一個(gè)問(wèn)題, 遞歸算法一般運(yùn)行得更快一些C. 對(duì)于較復(fù)雜的問(wèn)題, 用遞歸方式編程往往比非遞歸方式更容易一些D. 對(duì)于已定義好的標(biāo)準(zhǔn)數(shù)學(xué)函數(shù)sin(x), 應(yīng)用程序中的語(yǔ)句“y=sin(sin(x));”就是一種遞歸調(diào)用 13. 一個(gè)無(wú)法靠自身的控制終止的循環(huán)稱為“死循環(huán)”,例如在C語(yǔ)言程序中,語(yǔ)句“while(1)printf("*");”就是一個(gè)死循環(huán),運(yùn)行它將無(wú)休止地打印*號(hào)。下面關(guān)于死循環(huán)的說(shuō)法中, 只有( )是正確的。A. 不存在一種算法, 對(duì)任何一個(gè)程序及相應(yīng)的輸入數(shù)據(jù), 都可以判斷是否會(huì)出現(xiàn)死循環(huán), 因而, 任何編譯系統(tǒng)都不做死循環(huán)檢查B. 有些編譯系統(tǒng)可以檢測(cè)出死循環(huán)C. 死循環(huán)屬于語(yǔ)法錯(cuò)誤, 既然編譯系統(tǒng)能檢查各種語(yǔ)法錯(cuò)誤, 當(dāng)然也能檢查出死循環(huán)D. 死循環(huán)與多進(jìn)程中出現(xiàn)的“死鎖”差不多,而死鎖是可以檢測(cè)的,因而,死循環(huán)也是可以檢測(cè)的14. 在 Pascal 語(yǔ)言中,表達(dá)式 (23 or 2 xor 5)的值是( ) A. 18 B. 1 C.23 D.32 15. 在 Pascal 語(yǔ)言中,判斷整數(shù)a 等于 0 或b等于 0或c等于0 的正確的條件表達(dá)式是( )A. not ((a<>0) or (b<>0) or (c<>0))B. not ((a<>0) and (b<>0) and (c<>0))C. not ((a=0) and (b=0)) or (c=0)D.(a=0) and (b=0) and (c=0)16. 地面上有標(biāo)號(hào)為A、B、C的3根細(xì)柱, 在A柱上放有10個(gè)直徑相同中間有孔的圓盤, 從上到下次依次編號(hào)為1, 2, 3, ……,將A柱上的部分盤子經(jīng)過(guò)B柱移入C柱, 也可以在B柱上暫存。如果B柱上的操作記錄為:“進(jìn),進(jìn),出,進(jìn),進(jìn),出,出,進(jìn),進(jìn),出,進(jìn),出,出”。那么, 在C柱上, 從下到上的盤子的編號(hào)為( )。A. 2 4 3 6 5 7 B. 2 4 1 2 5 7 C. 2 4 3 1 7 6 D. 2 4 3 6 7 5 17. 與十進(jìn)制數(shù)1770相對(duì)應(yīng)的8進(jìn)制數(shù)是( )。A. 3350 B. 3351 C. 3352 D. 3540 18. 設(shè)A=B=true,C=D=false,以下邏輯運(yùn)算表達(dá)式值為真的有( )。A. (﹁A∧B)∨(C∧D∨A) B. ﹁ ( ( (A∧B)∨C)∧D)C. A∧(B∨C∨D)∨D D. (A∧(D∨C)) ∧B 19. (2070)16+(34)8的結(jié)果是( )。A. (8332)10 B. (208C)16C. (100000000110)2 D. (20214)820. 已知7個(gè)節(jié)點(diǎn)的二叉樹(shù)的先根遍歷是1 2 4 5 6 3 7(數(shù)字為結(jié)點(diǎn)的編號(hào),以下同), 后根遍歷是4 6 5 2 7 3 1, 則該二叉樹(shù)的可能的中根遍歷是( )由收集 ( http: / / www. / " \t "_blank )A. 4 2 6 5 1 7 3 B. 4 2 5 6 1 3 7C. 4 2 3 1 5 4 7 D. 4 2 5 6 1 7 3 二.問(wèn)題求解(共 2 題,每題 5 分,共計(jì) 10 分) 1.(子集劃分)將n 個(gè)數(shù){1,2,3,…,n}劃分成r個(gè)子集。每個(gè)數(shù)都恰好屬于一個(gè)子集,任何兩個(gè)不同的子集沒(méi)有共同的數(shù),也沒(méi)有空集。將不同劃分方法的總數(shù)記為S(n,r)。例如,S(4,2)=7,這7種不同的劃分方法依次為{(1),(234)},{(2),(134)},{(3),(123)},{(4),(123)},{(12),(34)},{(13),(24)},{(14),(23)}。當(dāng)n=6, r=3時(shí),S(6,3)= 。 (提示:先固定一個(gè)數(shù),對(duì)于其余的5個(gè)數(shù)考慮S(5,3)與S(5,2),再分這兩種情況固定的數(shù)進(jìn)行分析。 2.(最短路線)某城市的街道是一個(gè)很規(guī)整的矩形網(wǎng)絡(luò)(見(jiàn)下圖),有7條南北向的縱街,5條東西向的橫街?,F(xiàn)要從西南的A走到東北角的B,最短的走法共有多少種? 。 三.閱讀程序?qū)懡Y(jié)果(共 4 題,每題 8 分,共計(jì) 32 分)1.program j301;var i,a,b,c,x,y:integer;p:array[0..4] of integer;beginy:=20;for i:=0 to 4do read(p[i]);readln;a:=(p[0]+p[1])+(p[2]+p[3]+p[4]) div 7;b:=p[0]+p[1] div ((p[2]+p[3])div p[4]);c:=p[0]*p[1] div p[2];x:=a+b-p[(p[3]+3)mod 4];if(x>10)then y:=y+ (b*100-a) div(p[p[4] mod 3]*5)elsey:=y+20+(b*100-c)div (p[p[4] mod 3]*5);writeln(x,',',y);end.{注:本例中,給定的輸入數(shù)據(jù)可以避免分母為 0 或下標(biāo)越界。}輸入:6 6 5 5 3 輸出:_______________2.program j302;var a,b:integer;var x,y:^integer;procedure fun(a,b:integer);var k:integer;begink:=a;a:=b;b:=k;end;begina:=3;b:=6;x:=@a;y:=@b;fun(x^,y^);writeln(a,',',b);end.輸出:_____________________________3.program j303;var a1:array[1..50] of integer;var i,j,t,t2,n,n2:integer;beginn:=50;for i:=1 to n do a1[i]:=0;n2:=round(sqrt(n));for i:=2 to n2 doif(a1[i]=0) thenbegint2:=n div i;for j:=2 to t2 do a1[i*j]:=1;end;t:=0;for i:=2 to n doif (a1[i]=0) thenbeginwrite(i:4); inc(t);if(t mod 10=0) then writeln;end;writeln;end.輸出: 4.program j304;type str1=string[100];str2=string[200];var s1:str1;s2:str2;function isalpha(c:char):boolean;var i:integer;begini:=ord(c);if ((i>=65) and (i<=90)) or((i>=97) and (i<=122)) thenisalpha:=trueelseisalpha:=false;end;function isdigit(c:char):boolean;var i:integer;begini:=ord(c);if (i>=48) and (i<=57) thenisdigit:=trueelseisdigit:=false;end;procedure expand(s1:str1;var s2:str2);var i,j:integer;a,b,c:char;beginj:=1; c:=char(1); i:=0;while(i<=ord(s1[0])) dobegininc(i); c:=s1[i];if c='-' thenbegin{1}writeln('i=',i);a:=s1[i-1]; b:=s1[i+1];if (isalpha(a) and isalpha(b))or (isdigit(a) and isdigit(b)) thenbeginwriteln('*****',a,'&',b);dec(j);while(ord(upcase(a))begin s2[j]:=a;inc(j);inc(a); end;endelsebegin s2[j]:=c;inc(j); end;end{1}elsebegin s2[j]:=c;inc(j); end;end;s2[0]:=char(j-2);end;beginwriteln('input s1:');readln(s1);expand(s1,s2);writeln(s2);end.輸入:wer2345d-h454-82qqq 輸出:四.完善程序 (前4 空,每空 2.5分,后 6 空,每空 3 分,共 28 分) 1.(求字符串的逆序) 下面的程序的功能是輸入若干行字符串,每輸入一行,就按逆序輸出該行,最后鍵入-1終止程序。 請(qǐng)將程序補(bǔ)充完整。program j401;type str1=string[100];var line:str1;kz:integer;procedure reverse(var s:str1);var i,j:integer;t:char;begini:=1; j:=length(s);while (ibegint:=s[i]; s[i]:=s[j]; s[j]:=t;①; ?、凇?end;end;beginwriteln('continue -1 for end.');readln(kz);while ( ③ ) dobeginreadln(line);④;writeln(line);writeln('continue -1 for end.');readln(kz);end;end.2.(棋盤覆蓋問(wèn)題)在一個(gè)2K×2K個(gè)方格組成的棋盤中恰好有一個(gè)方格與其他方格不同(圖中標(biāo)記為-1的方格),稱之為特殊方格。現(xiàn)用L型(占有3個(gè)小格)紙片覆蓋棋盤上除特殊方格的所有部分,各紙片不得重疊,于是,用到的紙片數(shù)恰好是(4K-1)/3.在下表給出的一個(gè)覆蓋方案中,K=2,相同的3個(gè)數(shù)字構(gòu)成一個(gè)紙片。下面給出的程序是用分治法設(shè)計(jì)的,將棋盤一分為四,依次處理左上角、右上角、左下角、右下角,遞歸進(jìn)行。請(qǐng)將程序補(bǔ)充完整。2 2 3 32 -1 1 34 1 1 54 4 5 5program j402;type arr1=array[1..65] of integer;arr2=array[1..65] of arr1;var board:arr2;tile:integer;size,dr,dc:integer;procedure chessboard(tr,tc:integer;dr,dc:integer;var size:integer);var t,s:integer;beginif (size=1) then ⑤;t:=tile; inc(tile);s:=size div 2;if ⑥thenchessboard(tr,tc,dr,dc,s)elsebeginboard[tr+s-1][tc+s-1]:=t;⑦;end;if(dr=tc+s) thenchessboard(tr,tc+s,dr,dc,s)elsebeginboard[tr+s-1][tc+s]:=t;⑧;end;if(dr>=tr+s) and(dcchessboard(tr+s,tc,dr,dc,s)elsebeginboard[tr+s][tc+s-1]:=t;⑨;end;if (dr>=tr+s) and (dc>=tc+s) thenchessboard(tr+s,tc+s,dr,dc,s)elsebeginboard[tr+s][tc+s]:=t;⑩;end;end;procedure prt1(n:integer);var i,j:integer;beginfor i:=1 to n dobeginfor j:=1 to n dowrite(board[i][j]:3);writeln;end;end;beginwriteln('input size(4/8/16/64):');readln(size);writeln('input the position of special block(x,y):');readln(dr,dc);board[dr][dc]:=-1;tile:=1;chessboard(1,1,dr,dc,size);prt1(size);end.NOIP2007年普及組(Pascal語(yǔ)言)參考答案與評(píng)分標(biāo)準(zhǔn)一、單項(xiàng)選擇題:(每題1.5分)1. D 2. D 3. C 4. B 5. B 6.B 7. B 8. C9. C 10. A11. C 12. A 13. A 14. A 15. B 16. D 17. C 18. D19. A 20. A二、問(wèn)題求解:(每題 5分)1.902.210三、閱讀程序?qū)懡Y(jié)果1. 15, 46(對(duì)1個(gè)數(shù)給4分,無(wú)逗號(hào)扣1分)2. 3, 63. 2 3 5 7 11 13 17 19 23 2931 37 41 43 474. wer2345defgh45456782qqq四、完善程序(前4空(①--④),每空2.5分,后6空(⑤--⑩),每空3分)(說(shuō)明:以下各程序填空可能還有一些等價(jià)的寫(xiě)法,各省可請(qǐng)本省專家審定和上機(jī)驗(yàn)證,不一定上報(bào)科學(xué)委員會(huì)審查)1.① inc(i) 或i:=i+1② dec(j) 或 j:=j-1③ kz<>-1④ reverse(line)2. ⑤ exit⑥ (dr⑦ chessboard(tr,tc,tr+s-1,tc+s-1,s)⑧ chessboard(tr,tc+s,tr+s-1,tc+s,s)⑨ chessboard(tr+s,tc,tr+s,tc+s-1,s)⑩ chessboard(tr+s,tc+s,tr+s,tc+s,s)BA 展開(kāi)更多...... 收起↑ 資源預(yù)覽 縮略圖、資源來(lái)源于二一教育資源庫(kù)