题库 高中信息

题干

小骆设计了一个程序,用来统计一段文字中句子的数量。规定以“。”或者“?”或者“!”结束的为句子。窗体界面和程序如下所示,请回答问题。

图1 图2
(1)应用程序界面设计时,用来输入文字的对象,使用了图2所示的“控件工具箱”中的 ________________(填写相应数字),
(2)Private Sub Command1_Click()
Dim s As String, r As String, k As Integer
k = 0
s=Text1.Text
For i = 1 To Len(s)

If r ="。" Or r ="!"  Or r ="?"  Then
Next i
Label1.Caption ="本段文字中含" + Str(k) + "句语句。"
End Sub
在程序划线处填写适当的表达式或语句,以实现程序功能。
程序中①划线处应填入____________________________。
程序中②划线处应填入____________________________。
上一题 下一题 0.99难度 填空题 更新时间:2019-04-07 10:41:08

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

同类题2

(加试题)某密码的破译步骤如下:
(1)找出文章(以“.”结束)中所有用英文表示的数字(均为小写,数字范围1≤n≤20),单词与数字对应如下:

(2)将这些数字平方后除以100取余,得到两位数如00,04,21,96。
(3)把这些两位数按升序排成一行,组成一个最小的新数,如果新数开头为0,就去除。
(4)步骤(3)找出的最小数即为密码。
小明按照上述方法,设计了一个解密的VB程序,功能如下:单击“解密”按钮Commandl,程序依次将文本框Textl中以空格分隔的每个英文单词取出,若单词属于数字单词,则按解密步骤进行处理,最后在文本框Text2中输出解密结果。
程序运行效果如图所示,请回答下列问题:

(1)若文章内容为“tom bought two apples and five oranges, which cost ten dollars altogether.”,则破译后的密码应为_____________。
(2)请在划线处填入合适的代码。
Dim a(1 To 20) As String
Private Sub Form_Load()
a(1) = "one": a(2) = "two" 
'……将所有数字单词按顺序存入数组a中,代码略
End Sub
Private Sub Command1_Click()
Dim s As String, tmp As String
Dim c as Integer,i As Integer, j As Integer, k As Integer, t As String, ch As As String,code As Long
Dim b(1 To 100) As String   'b数组存放数字单词处理后得到的两位数
s = Text1.Text
c = 0: i = 1: flag = True:t = ""
Do While i <= Len(s)
ch = Mid(s, i, 1)
If ch >= "a" And ch <= "z" Then
t = t + ch
flag = False
ElseIf flag = False Then
For j = 1 To 20
If t = a(j) Then
c = c + 1
b(c) =_________________
End If
Next j
t = ""
flag = True
End If
i = i + 1
Loop
’将b数组中的两位数按数值大小进行升序排序,代码略
For i = 1 To c
t = Val(b(i))
_______________________
Next i
Text2.Text = Str(code)
End Sub
Function decode(num As Integer) As String
Dim mo As Integer
mo = num * num Mod 100
If mo = 0 Then
decode = "00"
ElseIf ___________________  Then
decode = "0" + Trim(Str(mo))
Else
decode = Trim(Str(mo))  'Trim为去除字符串两端空格的函数
End If
End Function

同类题4

查找并删除重复数据的算法是基于顺序查找的优化,主要思路是把待查数据的起点元素设置成查找关键字,然后从后往前查找,通过结束时停留的数据位置来判断查找结果(即结束时若停留在数据序列的起点,表示数据序列中无重复数据;否则,存在重复数据,删除该数据后继续查找)。
编写VB程序,实现上述算法。程序功能如下:运行程序时,在列表框List1中显示数组a中的原始数据;单击“去重”按钮(Command1),查找数组a中的重复数据并删除,即相同的数据仅保留一个,并在列表框List2中输出去重后的数组a中的数据,同时在标签Label1中显示删除的数据总个数,运行效果如图所示。

实现上述功能的VB代码如下,但加框处代码有错,请改正。
Const maxn = 10
Dim a(1 To maxn) As Integer
Private Sub Form_Load()
' maxn个数据存储在数组a中,并在列表框List1中显示
' 代码略
End Sub
Private Sub Command1_Click()
Dim i As Integer, n As Integer 'n用于存储当前查找的数组长度
Dim j As Integer, key As Integer   'key用于存储本次查找关键字的数据位置
key = 1: n = maxn
Do While key <= n

i = n

Do While  a(i) <> a(1)   '(1)

i = i - 1
Loop
If i = key Then   '找到重复数据,删除;未找到,设定下一查找关键字
key = key + 1
Else
For j = i To n - 1
a(j) = a(j + 1)
Next j
n = n - 1
End If
Loop
For i = 1 To n
List2.AddItem a(i)
Next i
Label1.Caption = "共删除重复数据:" &  Str(n)  & " 个" '(2)
End Sub

同类题5

最大回文子串。回文字符串是具有回文特性的字符串:即该字符串从左向右读, 与从右向左读都一样.如:凤落梧桐梧落凤,abcba 等。“最大回文子串”是指一个字符串中长度最大的回文字符串,其基本算法思想如下:
(1)每个回文都有一个“中心”,当回文字符数为奇数时,中间的那个字符就是回文中心;但是当回文的字符数为偶数时,回文的中心是最中间的那两个字符,且这两个字符相同。
(2)对任意一个字符或者相同的两个连续字符,我们都可以假设它为回文的“中心”,向它的左右两边扩展出尽可能长的回文。对于每种假设,我们都能得到一个回文,而最长回文必定由其中的某个假设中得到。
现编写一个 VB 程序,在 Text1 中输入一串字符,单击“统计”按钮,在 Text2 中显示该字符串中的最大的回文子串(长度相同时,输出最左边的子串)。运行界面如图所示。

请回答下列问题:
(1)当 Text1 中输入“123321344332423112113123”时,则输出的结果为  。
(2)请在划线处填入合适的代码。
Dim n As Integer
Dim a(0 To 100) As String
Private Sub Command1_Click()
Dim s As String
Dim left As Integer, right As Integer, i As Integer
Dim max As Integer, m As Integer, b1 As Integer
'变量 b1 用于记录回文子串的左端起点
Text2.Text = " "
s = Text1.Text
n = Len(s)
For i = 1 To n
a(i) = Mid(s, i, 1)
Next i
max = 0: left = 0: right = 0
For i = 1 To n
left = i
right = i
m = longest(left, right)
If m > max Then
________①_________
max = m
End If
left = i
right = i + 1
If a(left) = a(right) Then
m = longest(left, right) + 1
If m > max Then
b1 = i - m \ 2 + 1
max = m
End If
End If
Next i
For i = b1 To _____②________
Text2.Text = Text2.Text + a(i)
Next i
End Sub
Function longest(left As Integer, right As Integer) As Integer
Dim p As Integer
p = 1
Do While left > 1 And right < n And _________③______________
left = left - 1
right = right + 1
p = p + 2
Loop
longest = p
End Function