資源簡介 浙江省高一信息期末考試試卷(答案填寫在答卷卡上,在試卷上答題無效,答卷卡上按規(guī)定填寫班級、學(xué)號、姓名并且正確填涂準(zhǔn)考證號碼和答案)一、選擇題(共30小題,每小題2分,共60分,每題只有一個正確答案)1、用計算機無法解決"打印所有偶數(shù)"的問題,其原因是解決該問題的算法違背了算法特征中的( )。A、唯一性 B、有窮性 C、能行性 D、有輸出2、做勻加速直線運動物體的即時速度計算公式是vt = v0 + at,其中v0是初速度,a是加速度,t是時間。計算步驟有:①用公式計算即時速度vt = v0 + at②輸入初速度v0、加速度a和時間t③結(jié)束④輸出結(jié)果vt其正確的順序是( )。 A、②①④③ B、①②③④ C、④②③① D、①④②③3、計算梯形面積的算法描述如下:①輸入上底a、下底b和高h②計算梯形面積s(計算公式為:s=(a+b)*h/2)③輸出結(jié)果④結(jié)束上述算法屬于( )。A、解析算法 B、排序算法 C、遞歸算法 D、枚舉算法4、下面3個流程圖片段依次分別是什么結(jié)構(gòu)?( ) N Y Y N A、選擇、順序、循環(huán) B、順序、選擇、循環(huán)C、順序、循環(huán)、選擇 D、選擇、循環(huán)、順序5、下列程序設(shè)計語言中,哪一個不是面向?qū)ο蟮某绦蛟O(shè)計語言?( )A、C B、C++ C、C# D、VC++6、VB程序的工程文件名、窗體文件名以及生成的可執(zhí)行文件名分別是( )。A、.vb、.frm、.exe B、.vbw、.exe、.frmC、.vbw、.frm、.exe D、.vbp、.frm、.exe7、如圖所示流程圖片斷該流程圖中循環(huán)部分結(jié)束后,變量s的值是 ( )。 A、3 B、6 C、10 D、158、在VB中,要添加一個列表框(listbox),在工具箱中要單擊的控件是 ( )。A、 B、 C、 D、9、小明使用控件設(shè)計一個秒表,倒計時時間精確到0.01秒,如右圖,設(shè)置該控件的interval屬性值為( )。A、0 B、1 C、10 D、10010、在Visual Basic中,語句form1.Caption = "歡迎使用本系統(tǒng)!" 中的"Caption"是( )。A、屬性值 B、屬性名 C、對象名 D、類名11、在Visual Basic中,下列能作為變量名的是( )。A、a_5 B、a-5 C、5a D、A&512、某校對新入學(xué)的320名高一男生進行1000米耐久跑測試,測試成績保留2位小數(shù)。在Visual Basic中,下列存儲成績數(shù)據(jù)的變量定義最合適的是( )。A、定義320個整數(shù)型變量B、定義1000個整數(shù)型變量C、定義一個元素個數(shù)為320的一維數(shù)組,數(shù)據(jù)類型為整數(shù)型D、定義一個元素個數(shù)為320的一維數(shù)組,數(shù)據(jù)類型為單精度實數(shù)型13、11、在Visual Basic中,表達式12345100的值是( )。A、123 B、45 C、12 D、514、如下數(shù)組聲明語句:Dim a(3,-2 To 2,5) ,則數(shù)組a包含的元素的個數(shù)為( )。A、120 B、75 C、60 D、1315、有如下Visual Basic程序段:For x = 10 To 1 Step -2 a(x) = x + 1Next x該程序段運行后數(shù)組元素x的值為( )。A、10 B、1 C、0 D、-116、有如下Visual Basic程序段:s = 0For k = To 5 s = s + kNext k該程序段運行后,循環(huán)體s = s + k被執(zhí)行10次,則循環(huán)變量k的初值是( )。A、14 B、-5 C、1 D、-417、設(shè)x是正數(shù),下列能用于描述"x是否為偶數(shù)"的Visual Basic條件表達式是( )。A、x 2 = 0 B、x / 2 = 0 C、x Mod 2 = 0 D、x = Abs(x)18、設(shè)a=1,b=3,c=5,表達式a*3c AND 2*bA、1 B、-1 C、False D、True19、隨機產(chǎn)生10個[10,99]中的整數(shù),依次存儲到數(shù)組變量a(1)~a(10)中。實現(xiàn)此功能的部分算法流程圖如圖所示: 圖中空白處理框①和②處應(yīng)填入的是( )。A、① i ← i + 1 B、① i ← i + 1 ② a(i) ← Rnd * 90+10 ② a(i) ← Int(Rnd * 90)+10C、① a(i) ← Int(Rnd * 90)+10 D、① a(i) ← Int(Rnd * 89) + 10 ② i ← i + 1 ② i ← i + 120、"猴子吃桃"問題:一天,有一只猴子從樹上摘下若干個桃子,當(dāng)即吃了一半,覺得不過癮,又吃了一個。第二天小猴子接著吃剩下的一半,還覺得不過癮,又吃了一個。以后每天都是吃前一天剩下的一半并再吃多一個。到第四天,猴子按規(guī)則吃完桃子后,只剩一個桃子。問小猴子第一天摘了多少個桃子。右圖所示是根據(jù)分析所畫出的部分流程圖。采用倒推算法,其中設(shè)定M的初始值為1(第四天吃完后剩下的桃子數(shù)),D為天數(shù)(初始值為5)。請在下面的①和②(對應(yīng)流程圖中相應(yīng)空缺位置)填入相應(yīng)選項。①、②分別為( )。A、M=M*2+1 D=1 B、M=M*2+1 D<1 C、M=2*(M+1) D=1 D、M=2*(M+1) D<121、有如下Visual Basic程序段:a = 3b = 9c = a + bIf c = 12 Then py = "正確" Else py = "不正確"分析該程序段,下列說法正確的是( )。A、程序段的流程模式是循環(huán)模式B、“c = 12”是賦值語句C、“py = "正確"”是選擇語句D、執(zhí)行語句“py = "正確"”的前提條件是“c = 12”為真22、VB中,設(shè)x=298,能得到其個位數(shù)字“8”的正確表達式是( )。A、Int(x/100)*100 B、Int(x/10)*10 C、Int(x/100) D、x-Int(x/10)*1023、運行如下Visual Basic程序,單擊命令按鈕Command1,出現(xiàn)如圖所示的出錯信息。發(fā)生"下標(biāo)越界"錯誤時所執(zhí)行的語句是( )。Private Sub Command1_Click() Dim a(0 To 5) As Integer Dim i As Integer '① a(0) = 1 '② For i = 1 To 5 a(i) = 2 * a(i - 1) + 1 '③ Next i Text1.Text = Str(a(6)) '④End Sub A、① B、② C、③ D、④24、運行如下Visual Basic程序,單擊命令按鈕Command1,出現(xiàn)如圖所示的出錯信息。發(fā)生"類型不匹配"錯誤時所執(zhí)行的語句是( )。Private Sub Command1_Click() Dim a As Integer, b As Integer a = 10 '① b = 20 '② Text1.Text = "a+b=" + Val(a + b) '③End Sub '④ A、① B、② C、③ D、④25、在Visual Basic中,有如下程序:Private Sub Command1_Click() Dim a As Integer, b As Integer, c As Integer Dim d As Integer, z As Integer a = Val(Text1.Text): b = Val(Text2.Text): c = Val(Text3.Text) d = max(a, b) z = max(d, c) Text4.Text = Str(d) Text5.Text = Str(z)End SubFunction max(x As Integer, y As Integer) As Integer If x > y Then max = x Else max = yEnd Function運行該程序,在文本框Text1、文本框Text2、文本框Text3中分別輸入2、-5、6后,單擊命令按鈕Command1,文本框Text5中顯示的是( )。A、-5 B、2 C、6 D、2426、要計算S=1-2+3-4+5……-100以下不正確的程序段是( )。A、① B、② C、③ D、④27、下列語句執(zhí)行后,s的值為( )。For i=1 to 30 If i mod 5=0 then s=s+i i=i+6 end ifnext iA、45 B、55 C、65 D、7528、有如下Visual Basic程序段:? k = 1? For j = 2 To 100If a(j) > a(k) Then k = jNext jx = a(k)該程序段執(zhí)行后,變量x中存儲的是( )。A、a(1)至a(100)中的最小值 B、a(1)至a(100)中的最大值C、a(2)至a(100)中的最小值 D、a(2)至a(100)中的最大值29、在Visual Basic中程序段是計算( )公式的。 s=0 For i=1 To 10 t=1 for j=1 to it=t*j next j s=s+t Next i A、s=1+2+3+4+5+6+7+8+9+10 B、s=1*2*3*4*5*6*7*8*9*10 C、s=1!+2!+3!+4!+5!+6!+7!+8!+9!+10! D、s=1+2*3+3*4+4*5+5*6+6*7+7*8+8*9+9*1030、閱讀下面程序:Private Sub command1_click() a=val(text1.text)b=val(text2.text)if a=b then text3.text=str(a) exit subend ifdo while b<>0 r=a mod b a=b b=rlooptext3.text=str(a) End Sub在text1、text2中輸入30、6,則text3中的值為( )。A、1 B、3 C、6 D、9二、填空題(共40分)31、(本題6分)有以下幾種流程圖符號: A B C D E F輸入輸出框 ②連接框 ③流程線 ④判斷框 ⑤處理框 ⑥開始結(jié)束符A~F六種流程圖符號代表的含義依次是 32、(本題3分)將數(shù)學(xué)表達式S=寫成VB表達式為__________。33、(本題3分)閏年條件:能被4整除且不能被100整除或能直接被400整除。寫出閏年的VB表達式(年份用變量y) ______ ____。34、(本題2分)有如下Visual Basic程序段:a = "1100101"b = Mid(a, 2, 4) + "101"該程序段運行后,變量b的值為____________。35、(本題2分)有如下Visual Basic程序段:a = 5b = Len("1011")If a > b Then Label1.Caption = "請重新輸入"Else Label1.Caption = "歡迎光臨"End If該程序段運行后,在標(biāo)簽Label1上顯示的是____________。36、(本題4分,每空2分)有如下Visual Basic程序段:s = 0a = 5For i = 1 To 10 Step 2 a = a + i s = a * iNext i問:該程序段運行后,(1)變量i的值是___________。 (2)變量s的值是___________。37、(本題4分,每空2分)有如下Visual Basic程序段:Dim a As Integer, b As Integer, c As Integera = 20b = 0c = 2Do While a > b And a > c b = b + 1 c = c + bLoop問:該程序段運行后,(1)語句“b=b+1”執(zhí)行的次數(shù)為__________。 (2)變量c的值為____________。 38、(本題4分,每空2分)有如下流程圖結(jié)構(gòu),該流程圖中輸出的前2個值依次分別是____________、____________。39、(本題4分,每空2分)設(shè)有n盞燈,放在一排。從1 到 n依次順序編號。有 n個人也從1到n依次編號。第1個人(1號)將燈全部關(guān)閉,第2個人(2號)將凡是2的倍數(shù)的燈打開,第3個人(3號)將凡是3的倍數(shù)的燈做相反處理(該燈如果為打開的,則將它關(guān)閉,如關(guān)閉的將它打開),以后的人和3號一樣,將凡是自己號數(shù)倍數(shù)的燈做相反處理。問當(dāng)n個人操作后,哪幾盞燈是亮的。(亮燈為0,關(guān)閉為1)為了實現(xiàn)這一目標(biāo),完善下列程序,使之能完成該功能。Private Sub command1_click() Const n=20 Dim i as integer,j as integer Dim a(1 to n) as integer For j=1 to n a(j)=0 next j for i=1 to n for j=1 to n if j mod i=0 then ① End if Next j Next i For j=1 to n If ② then list1.additem str(j) Next jEnd Sub其中填充① ② 40、(本題4分,每空2分)普源為晚上的班級聯(lián)歡會設(shè)計了一個抽獎程序,將所有同學(xué)的編號和對應(yīng)的姓名分別保存在數(shù)組a(全班共50個同學(xué),編號為1到50)和數(shù)組b中,程序會隨機產(chǎn)生一個1到50的正整數(shù)(同時包括1和50),作為中獎編號。程序界面如圖所示,左邊列表框List1中顯示同學(xué)的編號和姓名,單擊"抽獎"按鈕(Command1),在標(biāo)簽Label3中顯示抽中的編號,同時在標(biāo)簽Label4中顯示"恭喜***同學(xué)",其中具體同學(xué)的姓名從數(shù)組b中獲取。解決此問題的程序段如下:Dim a(1 To 50) As IntegerDim b(1 To 50) As StringFunction search(m As Integer) As Integersearch = 0For i = 1 To 50 If m = a(i) Then search = a(i) End IfNext iEnd FunctionPrivate Sub Command1_Click()Dim c As Integer,t as integerRandomize ① Label3.Caption = Str(c)t = search(c) If t <> 0 Then Label4.Caption = "恭喜" + ② + "同學(xué)" End IfEnd SubPrivate Sub Form_Load() ' 此過程用于對數(shù)組a和數(shù)組b進行初始賦值,代碼略End Sub 在程序①和②劃線處,填入適當(dāng)?shù)恼Z句或表達式,把程序補充完整:(1)程序中①劃線處應(yīng)填入___________________。 (2)程序中②劃線處應(yīng)填入___________________。41、(本題4分,每空2分)數(shù)制轉(zhuǎn)換。將一個K進制(k<=10)數(shù)x轉(zhuǎn)換成十進制數(shù)可采用如下方法:主要方法是從右向左,依次取數(shù)x的各位數(shù)字,分別計算出該數(shù)從右邊數(shù)起的第i位數(shù)字與k(i-1)的積,再將其累加,直到所有的數(shù)字取完為止。例如,將五進制數(shù)1231轉(zhuǎn)換成十進制數(shù)的方法如下: 下列Visual Basic程序的功能是將K進制(k<=10)數(shù)x轉(zhuǎn)換成十進制數(shù)。界面如圖所示,在文本框Text1中輸入數(shù)制k,在文本框Text2中輸入數(shù)x,單擊"轉(zhuǎn)換"按鈕(Command1)后,在標(biāo)簽Label4中輸出轉(zhuǎn)換的結(jié)果。 解決此問題的算法流程圖如圖所示,相應(yīng)的Visual Basic程序如下:Private Sub Command1_Click()Dim b As Long, i As Integer, k As Integer, x As Long, t As Integerb = 0: i = 1k = Val(Text1.Text)x = Val(Text2.Text)t = x Mod 10 Do While ① b = ② x = x 10 t = x Mod 10 i = i + 1 LoopLabel4.Caption = Str(k) + "進制數(shù)" + Text2.text + "轉(zhuǎn)換成十制數(shù)為" + Str(b)End Sub在程序①和②劃線處,填入適當(dāng)?shù)恼Z句或表達式,把程序補充完整:(1)程序中①劃線處應(yīng)填入___________________。 (2)程序中②劃線處應(yīng)填入___________________。三、附加題(共10分,第一題2分,第二題8分,第二小題代碼行數(shù)不限)42、把雜亂無章的數(shù)據(jù)變?yōu)橛行虻臄?shù)據(jù),這一過程稱為排序。冒泡排序是其中一種最基礎(chǔ)的排序方法,其中的升序是把數(shù)列中把較小的數(shù)據(jù)逐次向上推移的一種排序技術(shù)。它的方法是把待排序的n個元素的數(shù)組看成是垂直堆放的一列數(shù)據(jù),從最下面一個元素起,自下而上的比較相鄰兩個元素中的數(shù)據(jù),如果較小的數(shù)據(jù)在下面,那將較小的數(shù)據(jù)換到上面的元素中(否則不交換)。重復(fù)這一過程,直到處理完最后兩個元素中的數(shù)據(jù),稱為一遍加工,當(dāng)?shù)?遍加工完成時,最小的數(shù)據(jù)已經(jīng)上升到第1個元素的位置;第2遍加工對余下的n-1個元素重復(fù)上述處理過程,第2遍加工完成后剩下最小的數(shù)據(jù)上升到第2個位置;直到n-1遍加工完成后發(fā)現(xiàn)數(shù)據(jù)完成了從小到大的排序。假設(shè)有4個數(shù)據(jù):27 36 32 18,需要4-1=3遍加工第1遍加工如下:第2遍加工如下:第3遍加工如下: 假設(shè)4個數(shù)據(jù)放在數(shù)組d(1), d(2),d(3), d(4)第1遍:比較d(j)、d(j-1),j=4,3,2,比較3次;第2遍:比較d(j)、d(j-1),j=4,3,比較2次;第3遍:比較d(j)、d(j-1),j=4,比較1次;假設(shè)另有一組未經(jīng)排序的數(shù)據(jù)如下: 45 67 23 87 13 30按照上述規(guī)則進行從小到大冒泡排序,第一遍加工完成后這6個數(shù)的位次應(yīng)該是 。冒泡排序?qū)?yīng)流程圖片段如下:(2)下面程序片段要實現(xiàn)數(shù)據(jù)d(1)..d(n)的從小到大排序,請根據(jù)上面流程圖說明,填寫中間部分代碼:…………For i=1 to n-1 '1到n-1遍加工Next i…………題號答案分值單選1B2單選2A2單選3A2單選4C2單選5A2單選6D2單選7C2單選8C2單選9C2單選10B2單選11A2單選12D2單選13A2單選14A2單選15C2單選16D2單選17C2單選18D2單選19C2單選20C2單選21D2單選22D2單選23D2單選24C2單選25C2單選26C2單選27A2單選28B2單選29C2單選30C2二、填空題(共40分)31、(本題6分) ⑤⑥①③④②32、(本題3分) s=(sqr(2)+10^5)/(0.5+p)+x^y33、(本題3分) y mod 4=0 and y mod 100<>0 or y mod 400=034、(本題2分) "1001101"35、(本題2分) 請重新輸入36、(本題4分,每空2分) 11 27037、(本題4分,每空2分) 6 2338、(本題4分,每空2分) 2 339、(本題4分,每空2分) a(j)=1-a(j) a(j)=040、(本題4分,每空2分) c=1+int(rnd*50) b(t)41、(本題4分,每空2分) x<>0 b+t*k^(i-1) 三、附加題(共10分,第一題2分,第二題8分,第二小題代碼行數(shù)不限)(1) 13 45 67 23 87 30(2) for j=n to i+1 step -1 if d(j) t=d(j) d(j)=d(j-1) d(j-1)=t end if next j 展開更多...... 收起↑ 資源預(yù)覽 縮略圖、資源來源于二一教育資源庫