資源簡介 4.1解析法訓練3學校:___________姓名:___________班級:___________考號:___________一、選擇題1.在由小寫字母組成的字符串中,找出同一字母第一次與最后一次出現的最大間隔距離,如字符串“abccbcb”,字母“b”第一次與最后一次分別出現在位置2和7,相距5,間隔距離最大。編寫VB代碼如下:填空處的代碼可由以下部分組成:①d(i)=0 ②t=Val(Mid(s,i,1)) ③IF d(t)<>0 And i-d(t)>c Then c=i-d(t)④d(i)=1 ⑤t=Asc(Mid(s,i,1))-Asc("a")+1) ⑥If i-d(t)>c Then c=i-d(t)代碼順序正確的是A.④⑥⑤ B.①⑤⑥ C.④②③ D.①⑤③2.有如下VB程序段:若數組b中的值依次為“5,10,7,20,30,40,40,60,55,70”,則程序運行后Text1中的內容是A.43 B.42 C.41 D.403.下面VB程序的功能為:在文本框Text1和Text2中輸入兩個整數,單擊按鈕對象Command1,在標簽對象Label1中顯示這兩個數的差。Function lsc(x,y) As Integer If x>y Thenlsc=x-y Elselsc=y-x End IfEnd FunctionPrivate Sub Command1_Click( ) Dim a1 As Integer,a2 As Integer a1=Val(Text1.Text) a2=Val(Text2.Text) Label1.Caption=________End Sub要實現上述功能,程序畫線處應填入的語句為( )A.lsc(x,y) B.lsc(Text1.Text,Text2.Text)C.lsc D.lsc(a1,a2)4.下圖所示的流程圖中 C 的值為( )A.2 B.3 C.5 D.65.在下面列出的四個程序段中,不能正確地將 x和y兩個變量中的數據進行交換的是( )A.x=y y=x B.x=x+y y=x-y x=x-yC.m=x x=y y=m D.m=y y=x x=m6.下列說法正確的是( )A.子過程可以嵌套調用 B.子過程不可以嵌套調用C.子過程可以嵌套定義 D.函數過程不可以遞歸調用7.有如下通用過程和事件過程,運行程序后,單擊窗體,程序的運行結果是( )public function ss(x as integer,y as integer) as integer if x>y then ss=x-y else ss=y-xEND FUNCTIONPRIVATE SUB FORM CLICK( )DIM A AS INTEGER ,B AS INTEGER A=8: B=6 PRINT SS(A,B)END SUBA.2 B.-2 C.8 8 D.6 68.在窗體上畫一個命令按鈕,其Name屬性為Command1,然后編寫如下代碼:Option Base 1Private Sub Command1 Click Dim a(4,4) For i = 1 To 3 For j = 1 To 3 a(i,j)=(i-1)*3+j Next j Next i PRINT A(3,1)End Sub程序運行后,單擊命令按鈕,其輸出結果為.A.6B.7C.8D.99.以下適合用解析算法解決的問題是( )A.將10個評委的打分按由大到小的順序進行排序 B.計算出租車費C.找出一管乒乓球中質量不符合標準的球 D.求三位正整數中的“水仙花數”10.一玻璃球從高空做自由落體運動,在到達地面時速度為98m/s,請問:該玻璃球從高空開始下落到地面用了多少時間?編程求此問題最佳算法是( )A.窮舉法 B.順序查找算法 C.遞歸算法 D.解析法11.找出表示問題的前提條件與結果之間關系的數學表達式,并通過表達式的計算來時限問題求解,這種方法叫做( )A.解析法 B.順序查找算法 C.遞歸算法 D.窮舉法12.用 UltraEdit 軟件觀察字符內碼如下圖所示,下列描述正確的是( )A.可推斷“j”的內碼為 70HB.“陳旻”字內碼為 B3C2HC.“M”內碼用二進制表示為:01001101BD.“name”占用 4b 存儲空間13.【加試題】編號為 1 到 8 的紙牌順時針排成一圈,現從編號為 1 的牌從數字 1 開始順時針數下 去,1、2、3、 、20、21、 ,一圈又一圈,則當數到數字 N 時,所在紙牌的編號為( )A.N Mod 8 B.(N+1) Mod 9 C.1+(N-1) Mod 8 D.1+(N-1) Mod 714.利用海倫公式求三角形面積的算法屬于( )A.排序法 B.解析法 C.枚舉法 D.查找法15.以下只能用解析算法求解的是( )A.已知邊長a、b、c,求三角形面積。B.求用10元、20元和50元三種紙幣組合支付360元的不同方案。C.求2000以內的素數。D.求所有的水仙花數的總和。16.計算三角形面積的算法如下:①輸入三角形三邊長a,b,c②計算半周長p=(a+b+c)/2③計算三角形面積s=Sqr(p*(p-a)*(p-b)*(p-c))④輸出面積s上述算法屬于( )A.排序算法 B.解析算法C.枚舉算法 D.查找算法參考答案:1.D【詳解】本題綜合考查VB程序解決實際問題的能力。是求最值的變形,先定義一個數組d,有26個元素,分別記錄26個字母出現的初始位置。先初始化數組元素值為0,如果出現,則記錄當前位置。將字母a對應到d(1)里,下標為1,下標t的值通用ASCII碼來實現。如果d(t)<>0表明不是第一次出現,可以求兩次出現的間距值,并與前一個值進行比較。故選D2.A【詳解】本題綜合考查VB 程序解決實際問題,并有數組的嵌套。數組a的元素初值為0。根據第二個For循環,可得a數組中,下標為5,7,11,11,30,40,41,55,61,71的元素值分別為1,1,-1,-1,1,1,-1,1,-1,-1。第三個循環中,求變量c的值,即對數組a的值求和時,出現0的次數。在a(5)之前有4個,在加到a(21)到a(29)時,也為0,有9個。在加到a(71)到a(100)時,都為0,共有4+9+30=43個。故選A3.D【詳解】本題主要考查VB程序的執行。lsc(x,y)是求x與y的差函數,單擊按鈕對象Command1,在標簽對象Label1中顯示這兩個數的差,故程序畫線處應填入的語句為lsc(a1,a2),故本題選D選項。4.C【詳解】本題考查的是流程圖相關知識。“=”是賦值號,A=2,B=3,將2、3分別給AB,C=A+B=2+3=5。選項C正確。5.A【詳解】本題考查的是程序賦值語句的相關知識。賦值語句功能:將賦值號右邊的值賦值給左邊的變量中。可假設初始值x=5,y=6代入驗證:A選項 執行x=y后 :x=6,y=6;執行y=x后:x=6,y=6并沒有交換。故答案應選A6.A【詳解】本題考查的知識點是VB應用。子過程是一種可重復使用的代碼塊,它執行一個特定的任務。而函數過程則是一種返回特定類型值的可重復使用的代碼塊。子過程可以嵌套調用,不可以嵌套定義,函數過程可以遞歸調用。故答案為A選項。7.A【詳解】本題考查的知識點是VB程序。ss函數實現的功能是計算兩個數的差,大的數值減去小的數值,在窗體處理程序中兩個參數分別是8和6,差值是2,故答案為A選項。8.B【詳解】本題主要考查VB程序的嵌套循環結構。a(3,1)=(3-1)*3+1=7,故程序運行后,單擊命令按鈕,其輸出結果為7,故本題選B選項。9.B【詳解】本題主要考查解析算法。所謂解析法(analysis algorithm)是指用解析的方法找出表示問題的前提條件與結果之間關系的數學表達式,并通過表達式的計算來實現問題求解。計算出租車費可以使用分支結構,分段使用解析式求解,故本題選B選項。10.D【詳解】本題考查想知識點是算法的相關知識。窮舉法也叫枚舉法或列舉法。 在研究對象是由有限個元素構成的集合時,把所有對象一一列舉出來,再對其一一進行研究。這里所研究的對象(元素)可以是各個個體事物,也可以是構成研究對象的各類。解析法是指用解析的方法找出表示問題的前提條件與結果之間關系的數學表達式,并通過表達式的計算來實現問題求解。遞歸算法是把問題轉化為規模縮小了的同類問題的子問題。然后遞歸調用函數(或過程)來表示問題的解。一個過程(或函數)直接或間接調用自己本身,這種過程(或函數)叫遞歸過程(或函數)。由題干可知,此問題最佳算法是解析算法,故答案為D選項。11.A【詳解】本題考查的知識點是算法中的解析法。解析法是指用解析的方法找出表示問題的前提條件與結果之間關系的數學表達式,并通過表達式的計算來實現問題求解。故答案為A選項。12.C【詳解】本題考查字符內碼查看與進制轉換。A選項,根據字符“i”的內碼69H,可以得到“j’的內碼是69H+1H=6AH,選項錯誤;B選項,“陳旻”的內碼是:B3 C2 95 46;C選項,“M”的內碼是4DH,轉換成二進制是:(01001101)2,選項正確。D選項,“name”占用4B的存儲空間,注意1B=8b,選項錯誤。故本題答案是C選項。13.C【詳解】本題主要考查解析算法。編號為1到8的紙牌順時針排成一圈,可知周期是8,應對8取余,如果使用表達式N Mod 8,當N=8時,N mod 8=0不可行,應使用N-1對8取余之后再加1,故當數到數字N時,所在紙牌的編號為1+(N-1) Mod 8(可以驗證所有紙牌編號均可行),故本題選C選項。14.B【詳解】本題主要考查解析算法。海倫公式,公式中a,b,c分別為三角形三邊長,p為半周長,S為三角形的面積。故利用海倫公式求三角形面積的算法屬于解析法,故本題選B選項。15.A【詳解】本題主要考查解析算法。已知邊長a、b、c,求三角形面積,由海倫公式,s=(a+b+c)/2,面積area=sqrt(s*(s-a)*(s-b)*(s-c)),其余選項可以通過窮舉的方法求解,故本題選A選項。16.B【詳解】本題主要考查解析算法。解析算法,即找出表示問題的前提條件與結果之間關系的數學表達式,并通過表達式的計算來實現問題求解的方法。題干面積s應用數學表達式,屬于解析算法,故本題選B選項。 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫