题目

甲乙双方进行一场球类比赛,一局计分的规则是:赢1球得1分,用“1”表示;输1球失1分,用“0”表示。当任一方得分大于等于6分,且领先对方2分及以上,领先方赢一局。如甲选手一局比赛数据为“101110101”,表示甲选手得6分失3分,局比分 。 小王用一个字符串记录了甲选手多局比赛数据,其中有一处错误,位于连续多个“0”的最后一个。为了找出错误,小王的处理方法如图a所示,对示例中疑似错误位置6和20分别修改数据,并统计每局比分。他编写了VB程序,功能如下:在窗体Form l的文本框Text l中输入记录数据,单击“分析”按钮Command 1,在列表框List 1中输出修改位置以及修改后每局的比分。程序运行界面如图b所示。 图a 图b (1) 下列对象中有Text属性的是(单选,填字母:A .Command 1/B .Form 1/C .Text 1)。 (2) 实现上述功能的VB程序如下,请在划线处填入合适的代码。 Private Sub Command 1_Click( )     Dim sp As String, s As String s       ‘s存储甲选手多局比赛的记录数据, 长度小于50     Dim a(1 To 50)As Integer, e(1 To 20)As Integer     Dim i As Integer, j As Integer, k As Integer, n As Integer, m As Integer     Dim f1 As Integer, f2 As Integer     s=Text 1.Text     n=Len(s)     For i=2 To n         a(i)=Val()     Next i     m=0 : i=1     Do While i<=n         k=i         Do While a(i)=0 And i<=n       找出疑似错误位置             i=i+1         Loop         If  Then             m=m+1:e(m)=i-1         End If         i=i+1     Loop     For i=1 To m       ‘对每个疑似错误位置分别修改数据,并统计每局比分          f1=0 : f2=0          k=e(1)          a(k)=1          sp="" & k &""          For j=1 To n              If a(j)=1 Then f1=f1+1 Else f2=f2+1              If  Then                  sp=sp & "/" & f1 &":" & f2                  f1=0 : f2=0              End If          Next j          If f1+f2>0 Then sp=sp & "" & f1 & ":"& f2          List 1.AddItem sp              Next i End Sub (3) 程序中加框处代码有错,请改正。 答案: 【1】C 【1】Mid(s,i,1)【2】i-k>1或i-k>=2【3】a(k)=0 (f1>=6 Or f2 >=6 ) And Abs(f1-f2)>=2或(f1>=6 And Abs(f1-f2)>=2) Or (f2>=6 And Abs(f1-f2)>=2)或等价表达式
信息技术 试题推荐
最近更新