在考生文件夹下有一个工程文件vbsj3.vbp,相应的窗体文件名为vbsj3.frm。在窗体上有一个命令按钮,其名称为cmdAdd,标题为“添加”;有一个文本框,名称为txtSentense,初始内容为窄白;有一个列表框,名称为lstWord。程序运行后,

admin2019-06-11  37

问题 在考生文件夹下有一个工程文件vbsj3.vbp,相应的窗体文件名为vbsj3.frm。在窗体上有一个命令按钮,其名称为cmdAdd,标题为“添加”;有一个文本框,名称为txtSentense,初始内容为窄白;有一个列表框,名称为lstWord。程序运行后,在文本框中输入一个英文句子(由多个单词组成,各单词之间用一个空格分开),然后单击命令按钮,程序将把该英文句子分解为单词,并把每个单词作为一个项目添加到列表框中,如图3-28所示。该程序不完整,请把它补充完整。
   
    要求:去掉程序中的注释符,把程序中的“?”改为正确的内容,使其能正确运行,但不能修改程序中的其他部分。最后把修改后的文件按原文件名存盘。
    程序源码:
Private Sub cmdAdd Click()
    Dim S1 As String, S2 As String
    Dim I1 As Inteqer
′  S1=?
    I1=1
    Do
′  Do While Mid(S1, I1, 1) <> ?
    And I1 <=Len(S1)
    S2=S2 & Mid(S1, I1, 1)
    I1=I1+1
    Loop
′  lstWord.AddItem?
′  S2=?
    I1=I1+1
    Loop While I1<=Len(S1)
End Sub

选项

答案审题分析 程序设计思路:从文本框的第1个字符开始依次检查其后面的每一个字符,若发现空格则将其之前或两个空格之间的字符串作为一个单词添加到列表框中。在Do循环(指内循环,循环条件为:取出的字符为非空格字符且取字符的起始位置没有超出文本框的总字符数,表达式为:Mid(S1,I1,1)<>" "And Il<=Len(S1),其中S1=txtSentense.Text,将Mid函数从文本框中取出的非空格字符,逐个连接成一个单词,语句为:S2=S2&Mid(Sl,I1,1),每执行一次循环体取字符的起始位置加l,即I1=I1+1。当遇到空格时结束循环,将得到的单词(即变量S2的值)用AddItem方法添加到列表框中,并且清空变量S2,将取字符的起始位置加1。 之后继续执行内循环以得到下一个单词,直到取字符的起始位置(即变量I1的值)超过文本框的总字符数为止,外循环的条件为:I1<=Len(S1)。 操作步骤 步骤1:打开考生文件夹下的工程文件vbsj3.vbp。 步骤2:打开代码编辑窗口,去掉程序中的注释符“′”,将问号“?”改为正确的内容。 参考代码: S1=txtSentense.Text Do While Mid(S1,I1,1)<>" "And I1 <=Len(S1) lstWord.AddItem S2 S2=" " 步骤3:按要求将文件保存至考生文件夹中 特别提示 以空格作为分隔单词的依据是本题的关键,同时注意空格字符串和空字符串是完全不同的。 考点链接 Do循环和While循环、常用内部函数、选择控件。

解析
转载请注明原文地址:https://kaotiyun.com/show/ERUp777K
0

最新回复(0)