题库 高中信息

题干

有如下VB程序段:
Dim x As String,y As String
Dim ans As Integer
x=“5”:y=“20”:ans = 0
If x>y Then ans = Val(x) Else ans = Val(y)
Ans = ans + Val(x+y) 
Text1.Text = Str(ans)
程序运行完后,文本框Text1中显示的是:(  )
A.25B.30C.540D.525
上一题 下一题 0.99难度 选择题 更新时间:2019-08-11 04:23:26

答案(点此获取答案解析)

同类题1

小王利用VB及ACCESS数据库制作了一个解密程序,具体使用过程如下:
在VB项目文件夹目录中有一个ACCESS数据库文件data.accdb,其中有一张数据表如图1所示ask字段中存放的是密文字符,对应ans字段中存放的是明文字符。

图1
VB程序界面如图2所示,其中一个按钮Command1的Caption属性值设置为“读取密码本”,另一个按钮Command2的Caption属性值设置为“解密”。程序运行后先点击Command1,程序将从ACCESS数据库中读取明文密文对照表并显示在列表框List1中。然后在密文文本框Texe1中输入加密文字,点击Command2解密后的明文将显示在Text2中。

图2
程序代码部分如下,请回答后面的问题:
Dim a() As String
Dim b() As String
Dim length As Integer
Private Sub Command1_Click()
List1.Clear
Dim i As Integer
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
conn.ConnectionString =“provider=microsoft.ace.oledb.12.0;data source=”& App.Path &
“\________”
conn.Open
rs.ActiveConnection = conn
rs.CursorLocation = adUseClient
rs. Open (“select * from code”)
length = rs.RecordCount
ReDim a(1 To length)
ReDim b(1 To length)
rs.MoveFirst
For i = 1 To length
a(i) = rs.Fields(“ask”)
b(i) = rs.Fields(“ans”)
List1.AddItem (a(i)&“____”&b(i))
rs.________
Next i
End Sub
Private Sub Command2_Click()
Text2.Text=“”
Dim s As String
Dim i As Integer
s=Text1.Text
For i=1 To Len(s)
Text2.Text=Text2.Text&translate(Mid(s,________))
Next i
End Sub
Function translate(ask As String) As String
Dim i as Integer
Dim flag as Boolean
i=1
flag=True
Do While i<=length And flag
If a(i)=ask Then
________
End If
i=i+1
Loop
If flag=True Then
translate=“”
Else
translate=b(i-1)
End If
End Function
(1)程序代码①处应该填入___________________________________。
(2)程序代码②处应该填入____________________________________。
(3)在程序代码③处补全Mid函数: __________________________。
(4)程序代码④处应该填入____________________________________。
(5)translate函数使用的查找算法是________(填对分查找/顺序查找)。

同类题2

IPv6 是英文“Internet Protocol Version 6”(互联网协议第 6 版)的缩写。IPv6 地址总共有 128 位,为了便于人工阅读和输入,IPv6 地址使用 16 进制数表示,划分成 8 个块,每块 4 位,块与块之间用“:”隔开,如:ABCD:EF01:0000:0000:ABCD:EF01:0000:6789
同时,对于多个地址块为 0 的情况时,可以使用”::”号,进行化简。
化简原则:
①全 0 块“0000”,可以化简为“0”
②连续多个全 0 块,可以化简为“::”
③一个 IPv6 地址中只能出现一个“::”,出现多个全 0 块时,“::”要化简最长的一段,没有最长的就将最左侧的一段化简为“::”
④“::”可以出现在地址开头或结尾具体示例如下:
程序界面如图所示:

实现上述功能的 VB 程序如下,请回答下列问题:
(1)请在划线处填入合适的代码。
Private Sub Text1_Change()
Dim a(1 To 8) As String, ipstr As String, ips As String
Dim lenth As Integer, max_lenth As Integer, start As Integer ipstr = Text1.Text
For i = 1 To 8
a(i) =_________'将 IPv6 分段存入数组 a Next i
'对数组进行处理,如果字母或非零数字开头,则不用处理;如果全是数字0,则压缩成    0,如果前导为 0,则去掉,处理完毕存回数组。
'///------ 处理过程略----- /////
'如果只有一串0,则将该串“0”用“::”代替,如果不止一串0,则将最长的一串“0”简化为“::”,如果有连续  0,则将左边的一串零简化,右侧保留。
max_lenth = 0
For i = 1 To 7
If_________Then lenth = lenth + 1
Else
If   lenth > max_lenth    Then
max_lenth = lenth: start = i - lenth: lenth = 0 End If
End If Next i
If lenth > max_lenth Then   max_lenth = lenth: start = i - lenth  '根据连续 0 串的位置确定输出简化后的结果
ips = ""
If    start = 1 And max_lenth    =   7 Then '开头是 0 且全 0 ips = "::"
ElseIf   start = 1 Then    '开头是 0 但不全为 0 ips = "::"
For   i = start + max_lenth + 1   To   7 ips = ips + a(i) + ":"
Next i
ips = ips + a(i)
ElseIf   start > 1 And    start + max_lenth = 8   Then   '开头不是 0 但 0 到最后 For i = 1 To start - 1
ips = ips + a(i) + ":"
Next i
ips = ips + ":"
ElseIf start > 1 Then '开头不是 0 且 0 不到最后 For i = 1 To start - 1
ips = ips + a(i) + ":"
Next i
ips = ips + ":"
For i =_________To 7  ips = ips + a(i) + ":"
Next i
ips = ips + a(i)
Else '无连续 0 出现
For i = 1 To 7
ips = ips + a(i) + ":"
Next i
ips = ips + a(i) End If
Text2.Text = ips End Sub
(2)IPv6  地址:3BCD:0000:0000:ABCD:0000:0000:0000:6789,则化简后为_______。

同类题3

(加试题)用一个6*5矩阵表示地图,分别用a数组元素表示,第1行从左到右为a(1)到a(6),依次类推,右下角为a(30)。其中数字0表示不通,数字1I表示畅通。现在要从左上角到右下角寻找一条畅通的路径。线路规则如F:
•路线每个位置只能向右或向下
•任何一个岔口优先向右走,右侧不通再向下走
•一条路线中每个位置只能走一次,不能重复
算法思路:探路过程中,记录每个位置坐标到数组lu;遇到岔路口(向右向下都通),则记录路口坐标到数组cha;遇到前方无路时,需要返回到上一个路口,标记路口右侧不通;当前方无路,岔路口数组也退回到0,说明整体不通,否则根据规则走到右下角为止,最后输出整体线路坐标。
实现算法的程序如下,运行结果如图所示。
回答下列问题:
(1)根据规则,如图迷宫矩阵正确路线的第6个位置是a数组的第_________个元素(填数字)

(2)在程序划线处填上合适代码,使程序完整。
Dim a(1 To 50) As Integer
Private Sub Command1_Click()
Dim i As Integer,j As Integer,pos As Integer
Dim cha(1 To 10)As Integer'记录一条路线中各个岔路口
Dim lu(1 To 10) As Integer’记录路线经过的位置
pos=1:j=0:lu(1)=1:i=1
Do While i <=9‘第1个和最后1个固定,中间有9个需要路过的路径点

If pos Mod 6<>0 And a(pos+1)=1 Then' 向右畅通

If pos+6 <=30 and a(pos+6)=1 Then‘记录岔路口
j=j+1
_____________
End If
pos=pos+1
i=i+1
1u(i)=pos
Else If pos+6 <=30 And a(pos+6)=1 Then’向下畅通
pos=pos+6
i=i+1
lu(i)=pos
Else’坐标退回到上一个岔路口
If j=0 Then Exit Do
Do While lu(i)<>cha(j)
_____________
Loop
a(cha(j)+1)=0’标记此路口右侧不可用
_____________
j=j-1
End If;

Loop

If j=0 Then

Text1.Text="没有畅通道路"

Else

For i=1 To 10
Text1.Text=Text1.Text+Str(lu(i))
Next i

End If

End Sub
Private Sub Form_Load()

‘生成图形矩阵的数组a各个元素,并在列表框显示,代码略

End Sub