13.某一條形碼是由13位數(shù)字組成的編碼,其末位是校驗(yàn)碼。條形碼校驗(yàn)的方法如下: ①除校驗(yàn)碼之外,求其余12位編碼中的奇數(shù)、偶數(shù)的數(shù)字之和; ②將偶數(shù)的數(shù)字之和乘以3,加上奇數(shù)的數(shù)字之和; ③取第②步得到結(jié)果的個(gè)位數(shù)字,用10減去該數(shù)字,將得到的結(jié)果存入變量m; ④若m的值為10,則將m的值修改為0,否則不變; ⑤若m和校驗(yàn)碼相等則輸出“校驗(yàn)碼正確!”,否則輸出“校驗(yàn)碼錯(cuò)誤!”。 現(xiàn)編寫一個(gè)VB程序,實(shí)現(xiàn)如下功能:在文本框Text1中產(chǎn)生條形碼數(shù)字序列,單擊“校驗(yàn)”按鈕Command1,在標(biāo)簽Label1中輸出對應(yīng)的校驗(yàn)信息,界面如圖所示。 實(shí)現(xiàn)上述功能的VB程序如下,但加框處代碼有錯(cuò),請改正。 Private Sub Command1_Click ( ) Dim s As String,x As Integer Dim n As Integer,jsAs Integer,os As Integer,m As Integer Js=0:Os=0 s=Text1.Text If n<>13Then Label1.Caption=“條形碼位數(shù)錯(cuò)誤!“ Else For i=1To 12 If x Mod 2<>0Then js=js+x Else os=os+x End If Next i m=os*3+js m=10-m Mod 10 Ifm=10 Then m=0 If m=Val(Mid(s,n,1)) Then Label1.Caption=“校驗(yàn)碼正確!“ Else Label1.Caption=“校驗(yàn)碼錯(cuò)誤!“ End If End If End Sub
等于85分的學(xué)號。部分學(xué)號的成績統(tǒng)計(jì)如圖所示。 程序功能如下:單擊“統(tǒng)計(jì)”按鈕Command2,程序進(jìn)行統(tǒng)計(jì)處理,結(jié)果輸出在列表框 List1、List2、List3中。程序運(yùn)行界面如圖所示。 (1)在Command1_Click ( )過程中變量n的作用是。 (2)請?jiān)跈M線處填入合適的代碼。 Dim a(1to 600)as integer'數(shù)組a存放物理成績 Dim b(1to 600)as integer'數(shù)組b存放化學(xué)成績 Dim c(1to 600)as integer'數(shù)組c存放生物成績 Dim n as integer PrivateSub Command1_Click ( ) Dim conn As New ADODB.Connection Dim rs As New ADODB.Recordset Conn ConnectionString=“provider=Microsoft.ACE.OLEDB.12.0;data source=“+“Score.jye.ai“ Conn.Open Set rs.ActiveConnection=conn rs.Open“SELECT*FROM whs“ n=0 Do While Not rs.EOF'從數(shù)據(jù)表中讀取各科的數(shù)據(jù)賦值到相應(yīng)數(shù)組 n=n+1 a(n)=rs.Fields(“物理“) b(n)=rs.Fields(“化學(xué)“) c(n)=rs.Fields(“生物“) rs.MoveNext Loop '本過程的其他語句略 End sub Private Sub Command2_Click ( ) '依據(jù)數(shù)組a中的相關(guān)數(shù)據(jù)統(tǒng)計(jì)各學(xué)生每門課大于等于85分的學(xué)號 Dim i As Integer Dim d(1to n) As Integer For i=1to n ① Next i List1.AddItem“三門學(xué)科>=85分的學(xué)號有:“ List2.AddItem“兩門學(xué)科>=85分的學(xué)號有:“ List3.AddItem“一門學(xué)科>=85分的學(xué)號有:“ For i=1To n If a(i)>=85Then d(i)=d(i)+1 End If If b(i)>=85Then d(i)=② If ③ Then d(i)=d(i)+1 End If Next i For i=1To n If d(i)=3Then List1.AddItem Str(i) If d(i)=2Then List2.AddItem Str(i) If d(i)=1Then List3.AddItem Str(i) Next i End Sub