商品條碼是將表示商品信息的數(shù)字代碼轉換成由一組規(guī)則排列的平行線條構成的特殊符號.EAN-13通用商品條形碼是用途較為廣泛的商品條碼.它共有13位,由前綴碼、制造廠商代碼、商品代碼和校驗碼組成.前綴碼用來標識國家或地區(qū)(圖書等特殊商品除外),一共3位.例如690~695是中國,880是韓國,775是秘魯.
編寫VB程序,實現(xiàn)如下功能:掃描條形碼,條形碼圖象顯示在圖片框image1中,識別條形碼,在text1中產生條形碼數(shù)字序列,單擊“國家/地區(qū)”按鈕command1,在標簽label1中輸出對應的國家/地區(qū)信息.
前綴碼的相關信息存放在數(shù)據(jù)庫文件“ean13.accdb”的code表中,程序運行時界面如圖所示.
程序代碼如下:
Private Sub Command1_Click( ?。?br />Dim cod(1000)As String
Dim area(1000)As String
Dim s As String,t As String
Dim flag As Boolean
Dim i As Integer,k As Integer
Dim num As Integer,m As Integer
s=mid(Text1.Text,1,3)
Dim conn As New ADODB.Connection,rs As New ADODB.Recordset
Dim strSQL As String
conn.Connectionstring=“Provider=Microsoft.ACE.OLEDB.12.0;Date Source=“+App.Path+“\ean13.accdb“
conn.Open
strSQL=“select cod,area from code“
Set rs.ActionConnection=conn
rs.OpenstrSQL
num=0
Do While Not rs.EOF
①
cod(num)=rs.Fields(“cod“)
area(num)=rs.Fields(“area“)
rs.MoveNext
Loop
rs.Close
conn.Close
Set rs=Nothing
Set conn=Nothing
i=1:flag=False
Do While i<=num And flag=False
m=Fix((i+num)/2)
If cod(m)=s Then
②
ElseIf Val(s)<Val(cod(m)) Then
num=m-1
Else
i=m+1
End If
Loop
If flag=False Then
Text1.Text=“該前綴不代表國家或地區(qū)“
Else
Label1.Caption=area(m)
End If
End Sub
根據(jù)以上程序代碼,回答下列問題:
(1)程序段加框處使用的算法是選擇排序選擇排序(填:冒泡排序/選擇排序/遞歸算法)
(2)程序中①橫線處應填入num=num+1num=num+1
(3)程序中②橫線處應填入flag=trueflag=true.
【答案】選擇排序;num=num+1;flag=true
【解答】
【點評】
聲明:本試題解析著作權屬菁優(yōu)網(wǎng)所有,未經書面同意,不得復制發(fā)布。
發(fā)布:2024/4/20 14:35:0組卷:7引用:1難度:0.1
相似題
-
1.根據(jù)AQI值判斷城市的空氣質量。若城市的AQI值(整數(shù))不超過100則空氣質量優(yōu)良,否則空氣質量有污染。當輸入的AQI值為-1時則退出程序。不要更改程序結構,將題中的①②③④填入正確的語句。
city=input(“請輸入城市名:”)
AQI=int(input(“請輸入空氣質量指數(shù)AQI的值:”))
①______ AQI!=-1:
if ②______:
print(city,“的空氣質量優(yōu)良。”)
③______:
print(city,“的空氣質量有污染。”)
city=input(“請輸入城市名:”)
AQI=④(input(“請輸入空氣質量指數(shù)AQI的值:”))
(1)序號①答案為
A.if
B.while
C.for
D.def
(2)序號②答案為
A.AQI>=100
B.AQI<=100
C.AQI>100
D.AQI<100
(3)序號③答案為
A.elif
B.break
C.if
D.else
(4)序號④答案為
A.int
B.float
C.str
D.else發(fā)布:2025/1/2 11:0:1組卷:0引用:0難度:0.4 -
2.一球從100米高度自由落下,每次落地后反跳回原高度的一半,再下落。編寫一個C程序,求它在第10次落地時,其經過了多少米?第10次反彈多高?
發(fā)布:2025/1/2 11:0:1組卷:0引用:3難度:0.3 -
3.利用海倫公式求解三角形面積。已知a,b,c為三角形的三條邊長,p為三角形的半周長,即p=(a+b+c)/2,計算此三角形面積S的海倫公式為:。不要更改程序結構,將題中的①②③填入正確的語句。
import math#導入數(shù)學模塊
def hl(a,b,c):#定義求三角形面積的函數(shù)
p=①
s=math.jye.ai(②)#sqrt用于計算算術平方根
return ③#返回面積的值
a,b,c=3,4,5#邊長依次賦值
print(“此三角形的面積S為:“,hl(a,b,c))
A. (a+b+c)/2 B.p*(p-a)*(p-b)*(p-c)
C. (a+b+c)*2 D.s
(2)序號②答案為
A.(a+b+c)/2 B.p*(p-a)*(p-b)*(p-c)
C.(a+b+c)*2 D.(3+4+5)/2
(3)序號③答案為
A.p B.s
C.p*(p-a)*(p-b)*(p-c) D.0發(fā)布:2025/1/2 11:0:1組卷:0引用:0難度:0.4
把好題分享給你的好友吧~~