中文字幕精品无码一区二区,成全视频在线播放观看方法,大伊人青草狠狠久久,亚洲一区影音先锋色资源

4.1解析法訓(xùn)練6(含答案)

資源下載
  1. 二一教育資源

4.1解析法訓(xùn)練6(含答案)

資源簡(jiǎn)介

4.1解析法訓(xùn)練6
學(xué)校:___________姓名:___________班級(jí):___________考號(hào):___________
一、操作題
1.完全平方數(shù)之和。編寫(xiě) VB 程序,實(shí)現(xiàn)如下功能:在文本框 Text1 中輸入用逗號(hào)分隔的一系列整數(shù)(每個(gè)整數(shù)的絕對(duì)值不超過(guò) 1000,個(gè)數(shù)不超過(guò) 100 個(gè)), 單擊“計(jì)算”按鈕 Command1,計(jì)算輸入的整數(shù)中的完全平方數(shù)之和(完全平方數(shù)是指一個(gè)整數(shù)能表示成某個(gè)整數(shù)的平方的形式,例如 4 是完全平方數(shù),可以表示成 2 的平方),并將結(jié)果顯示 在標(biāo)簽 Label1中。 程序運(yùn)行效果如圖所示。
(1)文本框 Text1不具備的屬性為 (單選,填字母: A.Text/B.Caption/C.Width/D.Font)。
(2)實(shí)現(xiàn)上述功能的 VB 程序如下,請(qǐng)?jiān)趧澗€處填入合適代碼。
Private Sub Command1_Click()
Dim s As String
Dim i As Integer, j As Integer, ans As Long
Dim f As Boolean
ans = 0
s = Text1.Text: j = 1:
For i = 1 To Len(s)
ch = Mid(s, i, 1)
If ch = "," Then
x = Val(Mid(s, j, i - j))
If Then ans = ans + x
f = True
j = i + 1
ElseIf ch = "-" Then
f = False
j = j + 1
End If
Next i
Label1.Caption = "完全平方數(shù)之和為: " + Str(ans)
End Sub
(3)若文本框 Text1中輸入的內(nèi)容為“-4,4,4”(不包括雙引號(hào)),則標(biāo)簽Label1 中輸出的內(nèi)容為“完全平方數(shù)之和為: ”。
2.獲取字符串中指定范圍內(nèi)的元素,可以通過(guò)字符編號(hào)來(lái)實(shí)現(xiàn),字符編號(hào)有正向編號(hào)和反向編號(hào)。如字符串"ABCDEF",字符A的正向編號(hào)為1、反向編號(hào)為-6,如下表:
"2:4"表示獲取正編號(hào)"2"到"4”的字符串,即"BCD",-5:-3、2:-3、-5:4這三種編號(hào)范圍也表示的是字符串"BCD"。
小王根據(jù)上述算法設(shè)計(jì)如下程序,在文本框Textl輸入字符串,在文本框Text2和Text3中輸入字符編號(hào),單擊"獲取"按鈕,在標(biāo)簽Labell中顯示指定范圍的字符串。當(dāng)Text2中的編號(hào)位置在Text3中的編號(hào)位置之前,則輸出正向字符串,反之輸出逆向字符串。程序運(yùn)行界面如圖所示。
(1)用戶單擊命令按鈕Command1時(shí)調(diào)用的事件處理過(guò)程為 。(單選,填字母:A.Command1/
B.Caption/C.Click/D.Commandl_Click)。
(2)實(shí)現(xiàn)上述功能的VB程序如下,請(qǐng)?jiān)趧澗€處填入合適的代碼。
Private Sub Command1_Click()
Dim s As String, ans As String
Dim a As Integer,b As Integer, n As Integer
s=Textl.Text:n= Len(s): ans=""
a=Val(Text2.Text): b = Val(Text3.Text)
If Abs(a)>n Or Abs(b)>n Or a *b=0 Then
ans="輸入范圍有誤"
Else
If a<0 Then a=a+n+ 1
If b<0 Then b= ①
If a<=b Then
ans= ②
Else
Fori=a To b Step-1
ans=ans+Mid(s,i,1)
Next i
End If
End If
Label1.Caption=ans
End Sub
(3)若文本框Textl中輸入的內(nèi)容為"123456789",文本框Text2和Text3中輸入的內(nèi)容分別為-3和5,單擊"獲取”按鈕,標(biāo)簽框Labell中顯示的內(nèi)容是 。
3.【加試題】四宮數(shù)獨(dú)規(guī)則:在4×4的格子中,根據(jù)已知數(shù)字,推理出所有剩余空格的數(shù)字,并滿足每一行、每一列、每一個(gè)宮(粗線框區(qū)域)內(nèi)均含1到4的數(shù)字并且不重復(fù),每道數(shù)獨(dú)有且僅有唯一答案。
例如,根據(jù)規(guī)則推理圖1數(shù)獨(dú),在第一宮中4個(gè)格子已經(jīng)3個(gè)格子分別是數(shù)字1到3,缺的數(shù)字為4,因此第一行第一格空缺的數(shù)字填4,以此類推,直至將所有格子都推理出來(lái)。

圖1 圖2
(1)根據(jù)上述規(guī)則推理,數(shù)獨(dú)(圖2)第一行A處應(yīng)是數(shù)字 。

(2)小明編寫(xiě)了四宮數(shù)獨(dú)推算的VB程序,單擊“推算”按鈕 Command1后,在列表框List1中輸出數(shù)獨(dú)推算過(guò)程和結(jié)果,如第17題-3題圖所示。實(shí)現(xiàn)推算的VB程序如下,請(qǐng)?jiān)趧澗€處填入合適的代碼。
Dim d(1 To 16) As Integer '數(shù)組d逐行存儲(chǔ)四宮數(shù)獨(dú)
Private Sub Command1_Click()
Dim i As Integer,flag As Boolean
For i = 1 To 16
d(i) =0 ‘值0表示該位置還未填數(shù)字
Next i
‘初始化數(shù)獨(dú)中已知位置的數(shù)字
d(2) =4:d(11) =3:d(14) =2:d(16) =4
List1.Clear
'在列表框List1中輸出四宮數(shù)獨(dú),代碼略
flag = False
Do While Not flag

For i = 1 To 16
‘函數(shù)check(i)實(shí)現(xiàn)對(duì)第i位置進(jìn)行推算
If d(i) = 0 Then
d(i) = check(i)
If d(i) >0 Then
flag = False
'Forniat(i,"00")函數(shù)實(shí)現(xiàn)將變量i的值按2個(gè)字符寬度輸出
List1.Addltem"第"& Format(i,”00” & "位置填” & d(i) )
End If
End If
Next i
Loop
'在列表框Listl中輸出四宮數(shù)獨(dú),代碼略
End Sub
根據(jù)每一行、第一列、每一個(gè)宮的已有數(shù)字進(jìn)行推算
Function check(x As Integer) As Integer
Dim t(0 To 4) As Integer,m As Integer
Dim row As Integer,col As Integer,n As Integer,k As Integer
For m=0 To 4
t(m) =0
Next m
'對(duì)當(dāng)前所在行列進(jìn)行推算
row = (x-l)\4+l
col = ( x - l) Mod 4 + l
For m= 1 To 4
t(d( row - l) *4+m)) = l
t(② )=1
Next m
'進(jìn)行宮內(nèi)推算
If row < =2 And col <= 2 Then t(d(7 -x) ) = l
If row< = 2 And col > 2 Then t(d(11 - x) )= l
If row > 2 And col < = 2 Then t(d(23-x)) = l
If row > 2 And col > 2 Then t(d(27-x)) = l
k =0
For m= l To 4
If t (m) = 0 Then n = m Else k = k + l
Next m
If ③ Then check = n Else check = 0
End Function
4.王老師采用星級(jí)制對(duì)本班學(xué)生的平時(shí)表現(xiàn)進(jìn)行評(píng)價(jià),每位同學(xué)的評(píng)分?jǐn)?shù)據(jù)儲(chǔ)存在數(shù)據(jù)庫(kù)中。學(xué)生的得分和星級(jí)對(duì)照如下表:
成績(jī) 1-20 21-40 41-60 61-80 81-100
星級(jí) 一星 二星 三星 四星 五星
要求依據(jù)上表統(tǒng)計(jì)出各星級(jí)學(xué)生人數(shù)占總?cè)藬?shù)的比例。小王編寫(xiě)了一個(gè)VB程序?qū)崿F(xiàn)該功能:程序運(yùn)行時(shí),每位學(xué)生的得分存儲(chǔ)到數(shù)組a中,并在列表框listl中顯示,單擊命令按鈕后,在列表框list2中顯示各星級(jí)的人數(shù)占總?cè)藬?shù)的百分比例。程序運(yùn)行界面如圖所示:
(1)觀察代碼,實(shí)現(xiàn)統(tǒng)計(jì)功能的按鈕對(duì)象名為: 。
(2)當(dāng)前讀取的數(shù)據(jù)表名為:
(3)實(shí)現(xiàn)上述功能的VB代碼如下,劃線①、②處請(qǐng)?zhí)羁铡?br/>Const n = 50
Dim a(1 To n) As Integer
Dim b(0 To 4) As Integer
Private Sub Form_Load( )
Dim adocn As New ADODB.Connection
Dim adors As New AD0DB.Recordset
Dim strl,str2 As String
adocn. ConnectionString =”provider= microsoft. ace. oledb.12.0;data source=” +
App. Path + ”school. accdb”
adocn.Open
str2 = ”select * from student”
adors.0pen str2,adocn
’以下將每個(gè)學(xué)生的得分讀入組數(shù)a中,并在列表框list1中顯示,代碼略
End Sub
Private Sub Coml_Click()
Dim dd As String
Dim cou As Single
Dim t as integer
dd=“一星二星三星四星五星”
For i = 1 To n
t=
b(t)=b(t)+1
Next i
For i = 0 To 4
cou = Int(b(i)/n * 100 + 0.5)
1ist2. AddItem, + Str(cou) + “%”
Next i
End Sub
5.小張編寫(xiě)了一個(gè)查詢漢字區(qū)位碼的程序,程序具體功能:在文本框Text1中輸入一個(gè)漢字的內(nèi)碼(處理碼),單擊“查詢”按鈕Command1后,在Text2中輸出漢字的區(qū)碼和位碼。例如:漢字“啊”的內(nèi)碼和區(qū)位碼的關(guān)系如下:
“啊”的區(qū)位碼 區(qū)碼 位碼
十進(jìn)制 16 01
十六進(jìn)制 10 01
區(qū)位碼分別轉(zhuǎn)成十六進(jìn)制后,將區(qū)碼和位碼分別加上十六進(jìn)制數(shù)A0即得到內(nèi)碼。
“啊”的內(nèi)碼的十六進(jìn)制形式即為B0A1H
程序運(yùn)行界面如圖所示:
Private Sub Command1_Click()
Dim i As Integer, q As Integer, w As Integer, s As String, s1 As String, c As String
s = Text1.Text
For i = 1 To 4 '如果輸入的處理碼包含小寫(xiě)字母,則轉(zhuǎn)成大寫(xiě)字母
c = Mid(s, i, 1)
If ① Then
s = Mid(s, 1, i - 1) + Chr(Asc(c) - 32) + Mid(s, i + 1, Len(s) - i)
End If
Next i
For i = 1 To 4 '兩個(gè)字節(jié)分別減去 A0H
c = Mid(s, i, 1)
If i Mod 2 = 1 Then
s1 = s1 & CStr((Asc(c) - Asc("A"))) 'CStr( ):將括號(hào)內(nèi)表達(dá)式的值轉(zhuǎn)換為字符串型
Else

End If
Next i
For i = 1 To 2 '將十六進(jìn)制轉(zhuǎn)換成十進(jìn)制
q = q * 16 + Val(Mid(s1, i, 1))

Next i
Text2.Text = "區(qū)號(hào):" + Str(q) + " 位號(hào):" + Str(w)
End Sub
(1)請(qǐng)?jiān)趧澗€處填入合適的代碼。
(2)如果輸入的內(nèi)碼為 D1A7,則 Text2 中輸出的內(nèi)容是:
6.問(wèn)題:在“1390773”號(hào)段的 11 位手機(jī)號(hào)碼中,統(tǒng)計(jì)出最后兩位數(shù)字相同的號(hào)碼個(gè)數(shù)。如 13907735200、13907738366 是符合條件的兩個(gè)號(hào)碼。
算法描述如下圖所示。請(qǐng)將程序補(bǔ)充完整。
Private Sub Form_Click()
Dim a As Integer, b As Integer
Dim i As Integer, s As Integer
s=0
For i=10000 To 19999
a=①
b=(i Mod 100)\10
If a=b Then
s=②
End If
Next i
Print "最后兩位數(shù)字相同的號(hào)碼個(gè)數(shù)有:" ;③
End Sub
二、填空題
7.【加試題】某種字符加密方法描述如:
①將待加密的字符分成若干個(gè)字符串組,每組n個(gè)字符,剩余字符(個(gè)數(shù)小于n)自成一組。
②將每組字符按以下方法重新組合,得到新的字符串。
重新組合規(guī)則:取每組第1個(gè)字符依次連接生成第i個(gè)新的字符串,共n組。
③將底組后的n組字符串依次進(jìn)行字符交換,得到加密字符(加密前后字符均為大寫(xiě))。
字符變換規(guī)則:按字母順序后移i個(gè)位置后輸出。
④依次合并變換后的字符串,即為密文。
例如:明文=“ABCDEFGHIJK”,n=4的字符加密過(guò)程如下:
(1)已知n=3,則待加密數(shù)據(jù)“ABCDEFG”加密后的密文為 。
(2)小張根據(jù)上述加密算法,設(shè)計(jì)了一個(gè)對(duì)應(yīng)的加密程序,其VB代碼如下,請(qǐng)?jiān)趧澗€處填入合適的代碼。
下面進(jìn)行重新組合:重組后數(shù)據(jù)保存到s1中
下面進(jìn)行字符變換:字符變換后數(shù)據(jù)保存到ans中
劃線處應(yīng)填入的代碼分別為:(1) (2) (3)
8.編寫(xiě)VB程序,實(shí)現(xiàn)如下功能:?jiǎn)螕簟坝?jì)算”按鈕,在列表框List1中產(chǎn)生10個(gè)[1,99]隨機(jī)數(shù),文本框Text1顯示相鄰兩個(gè)數(shù)字之間相差最大的差值。運(yùn)行界面如圖所示。
(1)窗體上,“計(jì)算”按鈕的對(duì)象名是 。
(2)實(shí)現(xiàn)上述功能的VB程序如下,請(qǐng)?jiān)趧澗€處填入合適的代碼。
Private sub cmd1_click( )
Dim b(1 to 10) as integer
Dim I as integer,max as integer ,a as integer, c as integer
Max=0
For i=1 to 10
Randomize
A=int(rnd*99)+1

List1.additem str(a)
Next i
For i=2 to 10
C=
If c>max then
Next I
End sub
參考答案:
1. B f=true f and int(sqr(x))^2=x 4
【詳解】本題考查的是VB循環(huán)、分支語(yǔ)句相關(guān)知識(shí)。(1)Caption不是Text1控件的屬性,故選B。(2)閱讀程序段可知,f是判斷正負(fù)數(shù)true為正數(shù)false為負(fù)數(shù),ans是存放完全平方數(shù)之和,x是存放不帶符號(hào)的數(shù)值,f默認(rèn)要設(shè)置為正數(shù),否則第一個(gè)輸入為正數(shù)時(shí),不計(jì)入ans,故②應(yīng)填入f=true,③中要判斷是否為正數(shù)而且是平方數(shù),故應(yīng)填入f and int(sqr(x))^2=x。(3)若文本框 Text1中輸入的內(nèi)容為“-4,4,4”最后一個(gè)數(shù)字不是以“,”結(jié)束,沒(méi)有取出來(lái)判斷是否平方數(shù),故標(biāo)簽Label1 中輸出的內(nèi)容為“完全平方數(shù)之和為:4”。
2. D b+1+n Mid(s,a,b-a+1) 765
【詳解】本題考查的是VB綜合運(yùn)用。(1)事件過(guò)程格式:對(duì)象名稱_事件,故選項(xiàng)D正確。(2)當(dāng)Text3里的值是反編號(hào)時(shí)即b<0要把它轉(zhuǎn)換成正編號(hào),故①填入:b+1+n;如果a<=b,則輸出兩者之間的正向字符串,故②為Mid(s,a,b-a+1)。(3)先“-3”轉(zhuǎn)正編號(hào):-3+9+1=7,7>5則輸出兩者之間的反向字符串,故為765。
3. 2 flag=True d((m-1)*4+col) k=3
【詳解】本題主要考查VB程序的綜合應(yīng)用。①根據(jù)上述規(guī)則推理,數(shù)獨(dú)(圖2)第一行A處可以填數(shù)字2或者3,A處所在的列中已經(jīng)包含3,因此只能填2,故第一行A處應(yīng)是數(shù)字2。②設(shè)置退出循環(huán)標(biāo)志flag為True,故此處填flag=True。③推算的時(shí)候,t數(shù)組,以四宮格中的數(shù)字為下標(biāo),全部置為1,分別對(duì)行、列、宮內(nèi)進(jìn)行推算,結(jié)合列與數(shù)組d之間的關(guān)系,故此空應(yīng)為:d((m-1)*4+col);④如果數(shù)組t(1)至t(m)有三個(gè)1,表明已知3個(gè)數(shù),可以推測(cè)出缺的數(shù)為數(shù)組t(1)至t(m)值為0的那個(gè)數(shù)組的下標(biāo),故此空為:k=3。
4. com1 student (a(i)-1)\20 mid(dd,2*i+1,2)
【詳解】本題考查的是VB相關(guān)知識(shí)。(1)根據(jù)程序中的Private Sub Coml_Click()可知,實(shí)現(xiàn)統(tǒng)計(jì)功能的按鈕對(duì)象名為:com1。(2)根據(jù)程序中str2 = ”select * from student”可知,當(dāng)前讀取的數(shù)據(jù)表名為:student。(3)根據(jù)題意及程序代碼可知,a數(shù)組存放的是每個(gè)學(xué)生的得分,b數(shù)組存放的是各星級(jí)的人數(shù)。故從代碼中的Dim b(0 To 4) As Integer、b(t)=b(t)+1、cou = Int(b(i)/n * 100 + 0.5)可知③應(yīng)填入(a(i)-1)\20;④應(yīng)填入mid(dd,2*i+1,2)。
5. c>=”a” and c<=”z” s1=s1&c w=w*16+Val(Mid(s1,i+2,1)) 區(qū)號(hào):49,位號(hào):07
【詳解】本題主要考查VB字符串操作及進(jìn)制轉(zhuǎn)換。(1)①處代碼需要判斷提取的字符變量c是否為小寫(xiě)字母,因此答題空1為c>=”a” and c<=”z”;②處代碼作用為若不是奇數(shù)位,則直接取其值或減去“0”,因此答題空2為s1=s1&c;③處由下面的輸出代碼Text2.Text = "區(qū)號(hào):" + Str(q) + "位號(hào):" + Str(w)知本處代碼為計(jì)算w的值,因此答題空3為w=w*16+Val(Mid(s1,i+2,1));(2)輸入的內(nèi)碼為D1A7,根據(jù)題意知,內(nèi)碼分別減去A0后,十六進(jìn)制為:區(qū)碼31,位碼07;十進(jìn)制為區(qū)碼49,位碼07,因此答題空4為區(qū)號(hào):49,位號(hào):07。
6. i mod 10 s=s+1 s
【詳解】本題考查VB程序設(shè)計(jì)相關(guān)內(nèi)容。該題功能是統(tǒng)計(jì)出最后兩位數(shù)字相同的手機(jī)號(hào)碼個(gè)數(shù)。分析流程圖可知,a、b分別為i的個(gè)位數(shù)、十位數(shù),若兩者相等,計(jì)數(shù)器s+1,最后輸出個(gè)數(shù)s。分析代碼,①處為a賦值,由題意可知,a是手機(jī)號(hào)末位數(shù),且要在i(10000到19999)的范圍內(nèi)找該數(shù),故應(yīng)取i的個(gè)位數(shù),取值方法:i mod 10。①處應(yīng)填寫(xiě):i mod 10。②處,分析if結(jié)構(gòu),當(dāng)a=b時(shí),意味著手機(jī)號(hào)最后兩位數(shù)字相同,計(jì)算器應(yīng)+1。故此處應(yīng)填寫(xiě):s=s+1。③處,使用print函數(shù)輸出手機(jī)號(hào)最后兩位數(shù)字相同的個(gè)數(shù),故此處應(yīng)填寫(xiě):s。
7. BFJCDGH j<=Len(s) i>Len(s) Mod n ASC(Mid(s1,k,1))-ASC(“A”)+j
【詳解】本題考查的知識(shí)點(diǎn)是VB程序分析與調(diào)試。(1)根據(jù)加密規(guī)則 ,數(shù)據(jù)“ABCDEFG”加密后的密文為BFJCDGH。(2)①處循環(huán)對(duì)輸入字符逐一遍歷,循環(huán)的條件是j<=Len(s)。故此處代碼為:j<=Len(s);②字符串s分割為n段,長(zhǎng)度對(duì)n取余運(yùn)算,同時(shí)需要滿足余數(shù)小于i。故此處代碼為:i>Len(s) Mod n;③字符加密時(shí),需要求出字符的ASCII,通過(guò)ASCII值對(duì)字符進(jìn)行處理,加密。此處代碼為:ASC(Mid(s1,k,1))-ASC(“A”)+j。
8. Cmd1 b(i)=a abs(b(i﹣1)﹣b(i)) max=c text2.text=str(max)
【詳解】(1)Cmd1_Click Cmd1表示對(duì)象名稱,Click表示它是一個(gè)點(diǎn)擊事件,“計(jì)算”按鈕的對(duì)象名是Cmd1;(2)①該處獲取的a是一個(gè)隨機(jī)數(shù),需要將a存儲(chǔ)在b(i)中,所以該處為:b(i)=a; ②次數(shù)將所有的隨機(jī)數(shù)逐個(gè)比較,c表示臨時(shí)生成的最大差值,所以該處為:abs(b(i﹣1)﹣b(i));③ 根據(jù)條件If c>max ,可以看出如果差值比最大差值大,改變最大差值max的值為c,所以該處為max=c,④結(jié)果在文本框中輸出,所有答案為text2.text=str(max),此題同等類似答案都可,不唯一。

展開(kāi)更多......

收起↑

資源預(yù)覽

<pre id="tfb94"><li id="tfb94"></li></pre>

<bdo id="tfb94"><rt id="tfb94"></rt></bdo>
  • <menu id="tfb94"><dl id="tfb94"></dl></menu><i id="tfb94"><acronym id="tfb94"><sub id="tfb94"></sub></acronym></i>

    1. 主站蜘蛛池模板: 涡阳县| 上杭县| 金山区| 宁晋县| 莎车县| 汝城县| 舟曲县| 莎车县| 丽江市| 贡嘎县| 香格里拉县| 和静县| 洛扎县| 贺兰县| 稻城县| 益阳市| 三江| 楚雄市| 剑川县| 永年县| 阿巴嘎旗| 岳阳市| 吴忠市| 靖远县| 江源县| 顺平县| 安新县| 馆陶县| 安康市| 大姚县| 上蔡县| 靖江市| 台南市| 盐边县| 荆州市| 类乌齐县| 遵化市| 宜丰县| 宜丰县| 闽侯县| 鄄城县|