為保證信息傳輸?shù)臏?zhǔn)確性,可在一段ASCII字符后面插入一個驗證字符加以驗證。驗證字符生成規(guī)則如下:
①從左往右依次獲取各字符的ASCII碼值;
②對奇數(shù)位字符的ASCII碼值做加法處理,對偶數(shù)位字符的ASCII碼值做減法處理;
③將上述結(jié)果取絕對值后除以26求余數(shù),余數(shù)為0~25,分別對應(yīng)大寫字母A~Z,則該大寫字母即為驗證字符。
小李編寫字符串驗證程序,功能如下:在文本框Text1中輸入待檢驗字符串(最后一位為驗證字符),點擊按鈕Command1,在標(biāo)簽Label1中顯示輸入字符串是否驗證成功。程序運行界面如圖所示。
(1)按照該規(guī)則,字符串“2021”的校驗碼是
D
D
(注:字符“0”的ASCII碼值為48,字符“A”的ASCII碼值為65,數(shù)字、字母ASCII碼值均按序以1遞增)。
(2)實現(xiàn)上述功能的VB程序如下,請在橫線處填入合適的代碼。
(3)程序中加框處代碼有誤,請改正。
PrivateSubCommand1_Click ( ?。?br />DimsAsString,tAsString
DimchaAsInteger,ansAsInteger
DimaAsInteger,bAsInteger,iAsInteger
s=①Text1.Text
Text1.Text
t=Mid(s,Len(s),1)
ans=0
Fori=1ToLen(s)-1
cha=Asc(Mid(s,i,1))
If②iMod2=0或iMod2<>1或其他判斷i為偶數(shù)的等價表達式
iMod2=0或iMod2<>1或其他判斷i為偶數(shù)的等價表達式
Then
ans=ans-cha
Else
ans=ans+cha
EndIf
Nexti
改正:Chr(ans+65)=t或Asc(t)=ans+65或其他等價寫法,65也可以寫成Asc(“A”)
Chr(ans+65)=t或Asc(t)=ans+65或其他等價寫法,65也可以寫成Asc(“A”)
Ifans+65=tThen
Label1.Caption=″驗證成功!″
Else
Label1.Caption=″驗證失敗!″
EndIfEndSub