在考生文件夹下有一个工程文件sjt5.vbp,其窗体上有两个标题分别为“读数据”和“统计”的命令按钮。请添加两个标签,其名称分别是Label1和Label2,标题分别为“单词的平均长度为”和“最长单词的长度为”;再添加两个名称分别为Text1和Text2,

admin2018-12-20  59

问题 在考生文件夹下有一个工程文件sjt5.vbp,其窗体上有两个标题分别为“读数据”和“统计”的命令按钮。请添加两个标签,其名称分别是Label1和Label2,标题分别为“单词的平均长度为”和“最长单词的长度为”;再添加两个名称分别为Text1和Text2,Text属性为空的文本框,如图所示。程序功能如下:
  ①如果单击“读数据”命令按钮,则将考生文件夹下in5.dat文件的内容读到变量s中(此过程已给出)。
    ②如果单击“统计”按钮,则自动统计变量s(s中仅含有字母和空格,而空格是用来分隔不同单词的)中每个单词的长度,并将所有单词的平均长度(四舍五入取整)在Text1文本框内显示,将最长单词的长度在Text2文本框内显示。

    “读数据”命令按钮的Click事件过程已经给出,请为“统计”命令按钮编写适当的事件过程,实现上述功能。
    注意:考生不得修改窗体文件中已经存在的控件和程序,在结束程序之前,必须进行统计,且必须通过单击窗体右上角的“关闭”按钮结束程序,否则无成绩。最后,程序按原文件名存盘。

选项

答案【操作步骤】 步骤1:打开本题工程文件,添加两个名称分别是Label1和Label2,标题分别为"单词的平均长度为"和"最长单词的长度为"的标签,以及标题分别为Text1和Text2,初始内容都为空的文本框。 步骤2:分析并编写程序代码。 程序提供代码 Option Base 1 Dim s As String Private Sub Command1_Click() Open App.Path & "\in5.dat" For Input As #1 s = Input(LOF(1), #1) Close #1 End Sub Private Sub Command2_Click() ’需考生编写 End Sub Private Sub Form_Unload(Cancel As Integer) Open App.Path & "\out5.dat" For Output As #1 Print #1, Text1.Text, Text2.Text Close #1 End Sub 程序结束 参考答案 Private Sub Command2_Click() For i = 1 To Len(s) J = Asc(Mid(s, i, 1)) Select Case J Case 48 To 57, 65 To 90, 97 To 122 Case Else Mid(s, i, 1) = "-" End Select Next i J = Len(s) - 1 For i = 1 To J If Mid(s, i, 1) = "-" And Mid(s, i + 1, 1) = "-" Then s = Left(s, i) + Right(s, J - i) J = J - 1 i = i - 1 End If Next i s = Left(s, Len(s) - 1) R = Split(s, "-") B = R(0) For i = 1 To UBound(R) If Len(B) < Len(R(i)) Then B = R(i) Next i Text2.Text = Len(B) Text1.Text = Int((Len(s) - UBound(R)) / (UBound(R) + 1) + 0.5) End Sub 步骤3:调试并运行程序,关闭程序后按题目要求存盘。

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

最新回复(0)