Private Sub Command1Click()
Dim num(0 To 5) As Integer
Dim i As Integer, j As Integer
Dim t As Integer
num(0) = 4: num(1) = 7: num(2) = 2: num(3) = 0: num(4) = 3: num(5) = 9
i = 0: j = 1: t = 0
For i = 1 To 5 Step 1
For j = i + 1 To 4 Step 1
If num(i) > num(j) Then
t = num(i)
num(i) = num(j)
num(j) = t
End If
Next j
Next i
For i = 1 To 5
List1.AddItem num(i)
Next i
End Sub
Private Sub Command1_Click()
Dim zysj As Single, zyfy As Single ‘zysj:租用时间,zyfy:租用费用
zysj = Val(Text1.Text)
If zysj <= 60 Then
zyfy = 0
ElseIf zysj <= 120 Then
zyfy = 1
ElseIf zysj <= 180 Then
ElseIf zysj Mod 60 = 0 Then
zyfy = (zysj - 180) / 60 * 3 + 3
Else
zyfy = (Int((zysj - 180) / 60) + 1) * 3 + 3
End If
Label5.Caption = Str(zyfy)
End Sub
Private Sub Command1_Click()
Dim a(1 To 51) As Integer, b(1 To 51) As Integer, c(1 To 51) As Integer Dim lens1 As String, lens2 As String
lens1 = Len(Text1.Text) :lens2 = Len(Text2.Text)
For i = Len(Text1.Text) To 1 Step -1 ‘读取数据,逐位保存在数组中
a(i) = Mid(Text1.Text, lens1 - i + 1, 1) Next i
For i = Len(Text2.Text) To 1 Step -1
b(i) = Mid(Text2.Text, lens2 - i + 1, 1) Next i
For i = 1 To 51 ‘从个位到高位逐位求和
c(i) =
If c(i) > 9 Then
c(i) = c(i) - 10
c(i + 1)=
End If Next i
f = False '从左到右输出第一个不为 0 的元素开始从高位到低位输出和
For i = 51 To 1 Step -1
If c(i) <> 0 Then f = True
If f Then Text3.Text = Text3.Text & c(i) Next i
End Sub
'顺序查找代码,查找次数用变量p表示
For i = 1 To 10
If a(i) = Key Then
p = i
End If
Next i
'二分查找代码,查找次数用变量q表示
i=1 :j=10 :find=Fasle
Do While i<=j And find=fasle
x =(i+j)\2
q = q+1
If a(x)=Key Then find=True
If a(x)>Key Then j=x-1
If a(x)<Key Then i=x+1
Loop
若变量key的值为13,程序运行后,则变量p和q的值分别是( )
For i = 100 To 999 lag = True: j = 2
Do While j < i And flag
Loop
If flag Then List1.AddItem Str(i) Next i
方框中的代码由以下四部分组成:①End If ②If i Mod j = 0 Then ③j = j + 1
④flag = False。代码顺序正确的是( )
Function fg(n as Integer)As Integer
If n=1 fg=1
If n=2 fg=2
If n>=3 fg=fg(n-1)+fg(n-2)
End Function
请问走完这8阶楼梯的走法有( )
Const n = 10
Dim d(1 To n) As Integer, pm(1 To n) As Integer
Private Sub Form_Load()
'代码略,本过程功能:产生10个随机整数存数组d中,并在列表框list1 中显示。
End Sub
Private Sub Command1_Click()
Dim i As Integer, j As Integer, k As Integer, t As Integer
i = 1
Do While i <= n - 1
k = i
For j = i + 1 To n
If Then k = j ‘①
Next j
If i <> k Then t = d(i): d(i) = d(k): d(k) = t
i = i + 1
Loop
pm(1) = 1
For i = 2 To n
If Then ‘②
pm(i) = i
Else
pm(i) = pm(i - 1)
End If
Next i
For i = 1 To n
List2.AddItem Str(i) +" " +Str(d(i)) + " " + "第" + Str(pm(i)) + "名"
Next I
End Sub
① ②
For i = 5 To 4 Step -1
k=i
For j = 6-1 To 1 Step-1
If a(j) < a(k) Then k = j
Next j
If k <>i Then
t = a(i) : a(i) = a(k) : a(k) =t
End if
Next i
则该程序段运行后,数组元素a(1)到a(5)的值依次为( )
程序功能:在文本框Text1中输入课程名称,单击“查询”按钮Command1,在列表框List1中显示选择该科目的学生信息。如果没找到在列表框List1中显示“该科目没人选择!”。按此要求将程序补充完整。
Private Sub Command1_Click ( )
Dim conn As New ADODB Connection
Dim rs As New ADODB. Recordset
Dim h(1 To 40) As String, m(1 To 40) As String
Dim n As Integer
conn Connectionstring = "provider = microsoft. ACE OLEdB. 12.0; data source ="+ App. Path + “\ ① “
conn. Open
Set rs, ActiveConnection conn
strsql ="select xh, xm from ② where km = ‘ “ & Text1. Text &“ ‘ “
rs Open strsql
List1. Additem "学号" + "姓名”
Do While Not rs EOF
n = n+1
h(n)= rs Fields ("xh")
m(n) = ③
④
Loop
If n=0 Then
List1. AddItem “该科目没人选择!”
Else
For i =1 To n
List1.AddItem h(i) &” ” & m (i)
Next i
End If
rs Close
conn. Close
Set rs = Nothing
Set conn = Nothing
End Sub
① ② ③ ④
Key = Val(Text1.Text): s = ""
i = 1: j = 10
Do While i <= j
m = (i + j) \ 2
If a(m) <= Key Then
i = m + 1
s = s + "R"
Else
j = m - 1
s = s + "L"
End If
Loop
Text2.Text = s
数组元素 a(1)到 a(10)的值依次为“1,4,6,10,16,16,16,18,21,33”。在文本框 Text1中输入 16 后,该程序段的输出结果与输入下列值的输出结果相同的是( )。
For i=1 To 4
k=i
For j=5 To i+1 Step-1
If a(j)<a(k) Then k=j
Next j
If k<> i Then
tmp=a(k) : a(k)=a(i) : a(i)=tmp
f(i)=True
End If
Next i
当数组元素a(1)到a(5)的值依次为“8,2,1,21,3”数组f的初值均为 False,执行该程序段,f数组中元素值为True的个数有( )
i=1: j=10
Do While i<=j
m=(i+j)\2
If key <= a(m)Then
①
Else
②
End If
Loop
For k=10 To i Step-1
③
Next k
a(i)=key
要使程序实现上述功能,则划线处①②③中的语句分别是( )
Dim a(1 To 10) As Integer
s = "7218634594": n = Len(s)
t = 0
For i = 1 To n - 1
a(i) = Val(Mid(s, i, 2))
Next i
For i = 1 To n - 2 Step 2
k = i
For j = i + 2 To n - 1 Step 2
If a(j) < a(k) Then k = j
Next j
If k <> i Then
temp = a(i): a(i) = a(k): a(k) = temp: t = t + 1
End If
Next i
Text1.Text = Str(t)
该程序段运行后,文本框Text1中显示的内容是( )
解决此问题的算法流程图如下图所示:
相应的VB程序如下,在程序①和②划线处,填入适当的语句或表达式,把程序补充完整。
Dim cp(1 To 30000) As String
'存放已使用的车牌号码
Dim plate As String
'输入的自主编制车牌号码
Dim num As Integer
'已使用车牌号码的数量
Private Sub Command1_Click()
Dim f As Boolean, i As Integer, j As Integer, m As Integer
Label3. Caption=“”
i= 1:j= num
plate=“浙A”& Text1. Text
f= False
Do While (i <=j) And Not f
m=Fix((i+j) / 2)
If plate= cp(m) Then
f= True
Else
If plate<cp(m) Then
j=m-1
Else
①
End If
End If
Loop
If f Then
Label3. Caption=“车牌号码已被使用!”
Else
Label3. Caption=“选车牌号码成功!”
End if
End Sub
Private Sub Form_ Load( )
Dim conn As New ADODB. Connection,rs
As New ADODB. Recordset
Dim strSQL As String
conn. ConnectionString =“Provider = Mi-crosoft. ACE. OLEDB.12. 0;Data Source=” +App. Path+“\chepai. accdb”
conn. ( )pen
'设置查询的SQL语句,从数据表chepai 中选取number列数据,并按升序排序。
strSQL=“SELECT number FROM chepai order by number asc'
Set rs. ActiveConnection= conn
rs. Open strSQL
num=0
Do While ②
num= num+1
cp( num) = rs. Fields(“number”)
rs. MoveNext
Loop
rs. Close
conn. Close
End Sub
①②
2号桶中有1个小旗子,表示2出现了一次;
3号桶中有1个小旗子,表示3出现了一次;
5号桶中有2个小旗子,表示5出现了两次;
8号桶中有1个小旗子,表示8出现了一次,
按桶的编号顺序读出旗子数量,没有旗子的桶略过,得到有序整数为“2,3,5,5,8”。
为此,小李编写了一个VB程序,功能如下运行程序,窗体加载时随机产生6个[0,9]的随机整数,并在列表框List1中依次显示排序前数据,单击“排序”按钮Command1,在列表框List2中显示经过上述排序算法后的数据。
运行结果如图所示。
实现上述功能的VB代码如下,但加框处代码有错,请改正。
Dim a(10) As Integer '数组a表示桶的编号,如a(0)表示第0号桶
Private Sub Command1_Click()
Dim i As Integer, j As Integer
For i=0 To 10
For j=1 To '
List2. AddItem CStr(i)
Next j
Next i
End Sub
Private Sub Form_ Load()
Dim i As Integer
Randomize
For i=0 To 10 '将数组初始化为0
a(i)=0
Next i
For i=1 To 6 '产生 6个[0,9 ]的随机数
t= Int(Rnd * 10)
a(t)= ',第t桶中小旗子数量加1
List1. AddItem CStr(t)
Next i
End Sub
小明根据上述思想编写了VB程序,功能如下:程序运行后,点击“生成”按钮Command1随机生成10个不重复的[0,99]内的整数,列表框List1中显示排序之前数据;单击“排序”按钮Command2,在列表框List2中显示这些数据的双调序列结果。其程序界面如图所示。
实现上述功能的VB代码如下,但加框处代码有错,请改正。
Const n= 10
Dim a(1 To n) As Integer
Dim b(0 To 99) As Integer
Private Sub Command1_Click()
'随机生成10个不重复的[0,99]之间的整数,存储在a数组中,代码略。
End Sub
Private Sub Command2_Click()
Dim i As Integer, j As Integer, k As Integer
k=0
For i=1 To n
'
Next i
For j=0 To 99
If b(j)=1 Then
k=k+1
a(k)=j
End If
Next j
For i=1 To n\2
List2. AddItem '
List2. AddItem Str(a(i))
Next i
End Sub
若实现上述功能的程序如下,请在划线处填写合适代码。
Dim a(1 To 13) As Integer
Dim n As Integer
Private Sub Command1_ Click( )
Dim i As Integer, s As String, j As String
Randomize
n=13
For i=1 To n
a(i) = Int(Rnd * 13)+1
Next i
For i=1 To n-1
For j=i+1 To n
If a(j) < a(i) Then
t=a(j)::a(i)=t
End If
Next j
Next i
s=“”
For i=1 To n
s = s+ Str(a(i))
If Then s=s+“,”
Next i
Label1. Caption =s
End Sub
Private Sub Command2_ Click( )
Dim i As Integer, j As Integer
Dim t As Integer, k As Integer
Dim max As Integer '存储连续数个数最大值
Dim begin As Integer '存储连续数开始的数值
k= 1
max=1
For i=2 To 13
If a(i)=a(i-1)+1 Or a(i)=a(i-1) Then
If Then k=k+1
If k > max Then
max= k
begin =
End If
Else
k=1
End If
Next i
s=" "
For j=begin To begin+max-1
s =s+ Str(j)
Next j
Label2. Caption = s
End Sub
图a |
图b |
采用SQLite3设计数据库data.db,其中info表包括两个字段:
段名 | 数据类刑 |
poet | text |
heat | integer |
@app.route('/')
def view( ):
#按热度值降序查询info表中记录,并渲染“view.htm”网页模板显示结果,代码略
@app.route(' ① ', methods=['GET','POST'])
def selectpoet():
if request.method=='POST':
x=request.form['xm'] #获取图b所示文本框中输入的内容
conn=sqlite3.connect('data.db')
cur=conn.cursor()
cur.execute(" ▲ where poet='%s'" %x) #查询当前诗人记录
data=cur.fetchall()
if data: #当data非空时,则表示所推选的诗人已经存在,将其热度值增1 y=data[0][1]+1
cur.execute("update info set heat=%d where poet='%s'" %(y,x))
else:
cur.execute("insert into info(poet,heat) values('%s',%d)" %( ② ))
conn.commit( )
cur.close( )
conn.close( )
return '评选成功!'
else:
return render_template('select.htm')
if __name__=='__main__':
app.run()
①②