16.【加試題】條形碼是按照一定編碼規則排列的圖形標識符.如圖所示,條形碼下方數字左邊12位代表信息,最右邊一位是校驗碼.校驗碼產生方法如下: ①把條形碼下方數字從右往左依次編序號為“1,2,3,4…”; ②從序號2開始把所有偶數序號位上的數相加求和,并乘以3; ③從序號3開始把所有奇數序號上的數相加求和; ④把第②和第③步結果相加求和; ⑤10減去第④步結果的個位數,得出校驗碼(如果差值為10,則校驗碼為0); 如條形碼的數字為:977167121601X(X為校驗碼),則校驗碼主要產生步驟如下: 1)(1+6+2+7+1+7)×3=72 2)0+1+1+6+7+9=24 3)72+24=96 4)10-6=4 所以最后校驗碼X=4,此條形碼數字為9771671216014. 小何為此編寫了VB程序,用以驗證條形碼輸入正確與否.程序運行時,從文本框Text1獲取條形碼數字部分,單擊按鈕Command1后,在列表框List1中輸出結果.實現上述功能的VB代碼如下,但加框處代碼有錯,請改正. Private Sub Command1_Click ( ) Dim i As Integer,b As String,Lb As Integer Dim s1As Integer,s2As Integer,tmp As Integer Dim c As String Dim d(1To 13)As Integer'存儲數據 Dim res As String'存儲結果 b=Text1.Text'輸入 Lb=Len(b) s1=0:s2=0 flag=True res=“輸入錯誤!” If Lb=13Then For i=1To 13 c=Mid(b,Lb-i+1,1) If c>=“0”And c<=“9”Then d(i)=Val(c)'輸入轉換 Else flag=False:Exit For End If Next i If flag Then For i=2To Lb Step 2 s1=s1+d(i)'參數計算1 s2='參數計算2 ① Next i tmp=s1*3+s2 If tmp Then res=“輸入正確!”② End If End If List1.AddItem res End Sub.
17.【加試題】已知方程“x^2+sin(x)-1=0”在區間[0,1]之間單調上升且有唯一解,可用對分思想不斷縮小正解所在區間,找出其近似解(要求:誤差小于0.001,結果截取3位小數)。單擊“求解”按鈕Command1,方程近似解顯示在文本框Text1中。程序運行界面如圖所示: 實現上述功能的VB程序如下,請在橫線處填入合適代碼。 Private Function fun(x As Single) As Single fun=x^2+Sin(x)-1 End Function Private Sub Command1_Click( ) Dim i As Intege Dim x1As Single,x2As Single,y As Single,y1As Single,y2As Single Dim mid As Single x1=0 x2=1 y1=fun(x1)'小于0 y2=fun(x2)'大于0 For i=1To
'確定合適終值,使最終結果恰好小于0.001 mid=(x1+x2)/2 y=fun(mid) If y<0Then x1=mid ElseIf y>0The
Else Exit For End If Next i '結果截取3位小數 'CStr(Format(0.63756,“0.000”))返回“0.638” Text1.Text=CStr(Format(