试题

试题 试卷

logo

题型:综合题 题类:常考题 难易度:困难

浙江省绍兴市诸暨中学2017-2018学年高二下学期信息技术期中考试试卷

编“字符串缩写”程序,实现如下功能:在文本框Text1中输入Ascii字符串,字符串中如果有由Ascii表中相邻字符(升序)组成的子串,则把该子串缩写成由第一个字符、“-”和最后一个字符组成,比如“abcdfpxcba”则缩写成“a-dfpxcba”。程序运行界面如下图所示。

(1)、代码“Private Sub Command1_Click()”中的Command1_Click()是(单选,填字母:A .对象名 /B .事件 /C .事件处理过程)
(2)、实现上述功能的VB程序如下,请在划线处填入合适的代码。

Private Sub Command1_Click()

Dim s As String, result As String, i As Integer, j As Integer, t As Integer

s = Text1.Text  :t = Len(s) :result = ""

i=1

Do While i <= t

   j = i

   Do While i < t

       If Asc(Mid(s, i + 1, 1)) = Asc(Mid(s, i, 1)) + 1 Then

            i = i + 1

       Else

           Exit Do

       End If

   Loop

   If i > j Then

      result = ①

   Else

      result = result + Mid(s, i, 1)

   End If

   i = i + 1

Loop

Text2.Text = ②

End Sub

(3)、如果输入的字符串是“aBcucwxyzdcb”,输出结果为
举一反三
用VB编写一个字符串分行程序,功能如下:单击“分行”按钮Command1将文本框Text1中的英文文本在列表框List1中分行显示(分行时单词不得跨行,每行字符尽可能多但不超过40个)并在标签Label1中输出总行数,运行效果如图所示。分行算法如下:

⑴将文本框中的字符串保存到变量s中;

⑵当s中字符个数超过40时,循环执行下列①、②、③步,否则跳转到(3):

①如果第41个字符不是英文字母,则分行位置p = 40;否则,向左逐个查找,直至找到第一个非英文字母,将其位置作为分行位置p;

②截取s的前p个字符,作为新增行显示在列表框List1中,同时总行数加1 ;

③将s中未分行部分重新赋值给变量s。

⑶将s作为新增行显示在列表框List1中,同时总行数加1。

实现上述功能的VB程序如下,请在划线处填入合适代码。

Private Sub Commandl_Click()

Dim s As String,c As String

Dim r As Integer, total As Integer,p As Integer

total = 0

s ={#blank#}1{#/blank#}

Do While Len(s) > 40

r = 41

c = Mid(s,r,1)

If  Not((c>= "a"And c<="z" ) Or (c>="A"Andc<="Z")) Then

p = 40

Else

’从第41个字符幵始向左找到第1个非英文字母,并将其位置值赋给p

     Do While (c >= "a" And c <= "z") Or (c >= "A"  

                 And c <= "Z")

r ={#blank#}2{#/blank#}

c = Mid(s,r,1)

Loop

p = r

End If

List1. Addltem  Mid(s,1,p)

total = total + 1

s ={#blank#}3{#/blank#}

Loop

List1. AddItem  s

total = total + 1

Labell. Caption ="共"+ Str(total) + "行"

End Sub

返回首页

试题篮