資源簡介 2011年義烏市中小學生信息學奧賽選拔賽試題(初中)(初中組 PASCAL語言 )●●全部試題答案都要求寫在答卷紙上,寫在試卷上一律無效●●一.選擇一個正確答案代碼(A/B/C/D),填入每題的括號內:(每題1.5分,每題只有一個正確答案,多選或錯選都無分。共30分)1)ASCII碼是一種字符編碼,每一字符存儲時需占用的字節數是( )A)8 B)2 C)4 D)12)GB 2312是一種漢字編碼,每一漢字存儲時需占用的字節數是( )A)1 B)2 C)4 D)83)我們一般把能播放VCD、CD光盤來看電影、聽音樂的電腦稱為“多媒體電腦”,下列硬件設備中,是多媒體電腦必須具備的是( )。A) CD-ROM光驅 B) 網卡 C) 掃描儀 D) 打印機4)計算機有計算功能,那么這個“計算”是在下列哪個硬件設備中完成的?A) CPU B) ROM C) 內存 D) 顯示卡5)主要用于文字處理的軟件是( )A)VB B)Photoshop C)Excel D)Word6)十進制數65對應的二進制數是( )A) 1000001 B) 1000100 C) 1110011 D) 11111117)二進制數(1101)2表示成十進制數是( )A)11 B)15 C)13 D)11018)pascal程序設計中,下列整數中不能用longint類型變量正確保存的是( )A) -32650 B) 4×1015 C) -108 D) 655379)瀏覽某一網站后,為了方便以后能快速地訪問該網站,我們可以利用網絡瀏覽器中的收藏夾功能來實現。收藏夾的主要功能是收藏( )A)文檔 B)網址 C)圖片 D)音樂10)信息表達的規范化,就是表達信息時要遵守一定的標準,有利于信息的交流。下列屬于電子郵件的協議是( )A)MP3 B)POP3 C)HTTP D)TCP/IP11)“全國青少年信息學奧林匹克聯賽”的英文縮寫是( )A) APIO B) CTSC C) NOI D) NOIP12)軟件的使用者,應遵守相關的法律規定,下列行為正確的是( )A)使用盜版軟件 B)復制傳播正版軟件C)使用經授權的軟件 D)自行研究和編制病毒程序13)王董事長一回到家,第一件事情就是對電腦喊一聲“開機”,該臺電腦就乖乖地開機了。這種現象說明了該臺電腦使用了( )A)網絡技術 B)語音識別技術 C)字符識別技術 D)自動關機技術14)電子公告板亦稱論壇,是網上學習討論的一種很好的交流方式。電子公告板的英文簡稱是( )A)BBS B)QQ C)MSN D)Email15)下列分辨率的顯示器顯示出的圖像,最清晰的是( )A) 800*600 B) 640*480 C) 800*800 D) 1024*76816)若我們說一個微機的CPU型號為PIII800,此處800確切指的是( )A) CPU的知識產權編號 B) CPU內部的最大一級緩存C) CPU的主時鐘頻率 D) 每秒執行800萬條指令17)當一個應用程序窗口被最小化后,該應用程序將( )A) 繼續在前臺執行 B) 被終止執行 C) 被暫停執行 D) 轉入后臺執行18)下列排序算法中,算法時間復雜度是O(n2)的算法是( )A) 堆排序 B) 插入排序 C) 歸并排序 D) 快速排序19)如果我們把一棵二叉樹的根節點稱為第一層(根節點所在深度為1),那么一棵深度為k的二叉樹中,最多可以包含的節點數是( )A) 2k-1 B) 2*k C) 2k D) 2k-120)下列關于二叉樹遍歷的說法中,正確的是( )A) 已知一棵二叉樹的前序和后序遍歷,可以唯一地確定一棵二叉樹。B) 已知一棵二叉樹的后序遍歷,可以唯一地確定一棵二叉樹。C) 已知一棵二叉樹的前序和中序遍歷,可以唯一地確定一棵二叉樹。D) 已知一棵二叉樹的前序遍歷,可以唯一地確定一棵二叉樹。二.問題求解:(3+7=10分)1.海上航行時,每到晚上,大海中的輪船就通過安裝在輪船上的一排探照燈來相互打招呼。每個探照燈都有“亮”和“滅”兩種狀態,這樣通過一排探照燈(假定從左到右有序)的“亮”和“滅”的組合就可以表達很多約定的信息?,F在一艘輪船上從左到右一共安排了10盞探照燈,那么這一排探照燈最多能表達的信息種類數是多少?2.新田忌賽馬。田忌有3匹馬(奔跑速度分別是40、60、90),齊王有3匹馬(速度分別是50、70、100),田忌的馬和齊王的馬逐對進行比賽,由于每次出場順序由田忌確定,所以田忌通過巧妙的策略贏得了最終的勝利(比齊王多贏一場),具體對陣形式如下(按田忌馬速度從小到大排列,對陣形式中左邊為田忌馬的速度,右邊為齊王馬的速度):40-100 60-50 90-70現在田忌有8匹馬(速度分別為10、20、30、40、50、60、70、80),齊王也有8匹馬(速度分別為35、48、56、65、77、98、105、112),出場順序仍由田忌來確定,問:田忌是否能找到一種出場順序(回答“能”或者“不能”),使得田忌最終能贏得比賽(田忌贏的場次多于齊王)?如果回答“能”,請寫出田忌勝的場次中,兩匹馬對陣的形式(格式仿照前面的例子書寫,按照田忌馬匹的速度從小到大書寫)。三.閱讀程序并寫出運行結果(7+7+8+8=30分。):1.program test1;varx,y,s,tot:integer;beginreadln(x,y);x:=x+y;y:=x+y;s:=x+y;writeln(s);end.輸入:10 20輸出:2.program test2;varx,y,i,j,code:integer;t1,t2:string;beginx:=1024;y:=32;i:=x mod y;j:=x div y;str(i,t1);str(j,t2);writeln(t1+t2);end.輸出:3.program test3;vara:array[1..10] of byte;i,j,k,s,t:integer;begins:=33;t:=1;repeata[t]:=s mod 2;s:=s div 2;t:=t+1;k:=s;until k=0;for i:=t-1 downto 1 do write(a[i]);end.輸出:4.Program test4;Const error=1e-8;Varsum:array[0..2,0..100]of double;n:array[1..2]of Longint;i,j,k,x,y:Longint;c:double;Function find(t:Longint):Longint;Vari:Longint;min:double;Beginmin:=1e15;For i:=1 to n[t] doIf (abs(sum[t,i-1]-sum[t,n[t]]+sum[t,i]))+errormin:=abs(sum[t,i-1]-sum[t,n[t]]+sum[t,i]);find:=i;End;End;Beginread(n[1],n[2]);For i:=1 to n[1] doFor j:=1 to n[2] do Beginread(c);sum[1,i]:=sum[1,i]+c;sum[2,j]:=sum[2,j]+c;End;For i:=1 to n[1] do sum[1,i]:=sum[1,i-1]+sum[1,i];For i:=1 to n[2] do sum[2,i]:=sum[2,i-1]+sum[2,i];x:=Find(1);y:=Find(2);writeln('Center= (',x,',',y,')');End.輸入:3 30.22 0.21 0.200.2 0.3 0.120.13 0.32 0.11輸出:四.完善程序(根據問題要求和已有程序,在空格處填入適當的語句或符號,使程序完整。本題30分)1.【從小到大排序】(3+3+3+3=12分)下列程序用來實現對輸入的10個整數進行從小到大的排序,最后輸出排序好的10個整數,輸出時,每兩個整數之間用一個空格分隔。輸入和輸出的樣例如下:【樣例輸入】5 6 8 7 3 2 1 4 9 10【樣例輸出】1 2 3 4 5 6 7 8 9 10請完善下列程序:program test5;vara:array[1..10] of integer;i,j,t,k:integer;beginfor i:=1 to 10 do ① ;for i:=1 to 9 dobegin② ;for j:=i+1 to 10 do if a[t]>a[j] then ③ ;if t<>i then begin ④ ;a[i]:=a[t];a[t]:=k;end;end;for i:=1 to 10 do write(a[i],' ');end.2.(最大連續子段和)給出一個數列(元素個數不超過100),數列元素均為負整數、正整數、0。請找出數列中的一個連續子數列,使得這個子數列中包含的所有元素之和最大,在和最大的前提下還要求該子數列包含的元素個數最多,并輸出這個最大和以及該連續子數列中元素的個數。例如數列為 4,-5,3,2,4時,輸出9和3;數列為1 2 3 -5 0 7 8 時,輸出16和7。vara: array[1..100] of integer;n, i, ans, len, tmp, beg: integer;beginread(n);for i := 1 to n doread(a[i]);tmp := 0;ans := 0;len := 0;beg := ① ;for i := 1 to n dobeginif tmp + a[i] > ans thenbeginans := tmp + a[i];len := i - beg;endelse if ( ② ) and (i - beg > len) thenlen := i - beg;if tmp + a[i] ③ thenbeginbeg := ④ ;tmp := 0;endelse⑤ ;end;writeln(ans, ' ', len);end. 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫