应用题 1. 在考生文件夹下有一个工程文件sjt5.vbp,窗体上有两个命令按钮,标题分别是“读数据”和“统计”,请添加两个标签,名称分别为Label1和Label2,标题分别为“出现次数最多的字母是”和“它出现的次数为”;再添加两个名称分别为Text1和Text2,初始内容为空的文本框,如图所示。
    程序功能如下:
    ①单击“读数据”按钮,则将考生文件夹下in5.dat文件的内容读到变量s中(此过程已给出)。
    ②单击“统计”按钮,自动统计in5.dat文件中所含各字母(不区分大小写)出现的次数,并统计次数最多的字母显示在Text1文本框内,它所出现的次数显示在Text2文本框内。
    “读数据”按钮的Click事件过程已经给出,请为“统计”按钮编写适当的事件过程实现上述功能。
   
【正确答案】【操作步骤】
   步骤1:打开本题工程文件,添加两个标签控件,名称分别为Label1和Label2,标题分别为“出现次数最多的字母是”和“它出现的次数为”;再添加两个名称分别为Text1和Text2,初始值为空的文本框。
   步骤2:打开代码编辑窗口,在指定位置编写如下代码。
   参考答案
   Dim a(1 To 26)As Integer '定义数组a用于存放字母出现个数
   Dim max As Integer
   n=Len(s) 'Len的功能是求字符串的长度
   For i=1 To n
   k=Asc(Hid$(s,i,1)) '依次获取字符
   If(k>=65 And k<=90)Then
   a(k-64)=a(k-64)+1 '当为大写字母时,满足条件则计数
   End If
   If(k>=97 And k<=122)Then
   a(k-96)=a(k-96)+1 '当为小写字母时,满足条件则计数
   End It
   Next i
   max=0
   For m=1 To 26 '循环查找出现次数最多的值
   If max<a(m)Then
   max=a(m)
   End If
   Next m
   Text2=max '显示出现次数
   For m=1 To 26 '找到出现次数最多的值的下标
   If a(m)=max Then
   1=m '将下标记下
   End If
   Next m
   Text1=Chr(1+64) '通过下标找到对应的字母
   步骤3:调试并运行程序,关闭程序后按题目要求存盘。
   
【答案解析】[考点] 本题考点有:标签的Name和Caption属性、文本框的Name和Text属性、Mid()函数、Option Base数组下标、Asc()函数、For循环语句以及If判断语句。
通过Mid()函数获取字符,并通过Asc()函数获得字符的ASCII码,并赋值给变量k。定义一个数组a(26)用于存储26个字母的出现次数,根据语句Option Base 1,判断数组的下标为1~26,通过判断ASCII码来计算字母出现的次数,例如k=65(A)或k=97(a),那么a(k-64)和a(k-96)也就是通过a(1)加1来进行计数。再通过对于数组a最大值的查找求出最多的次数,进而求出出现最多的字母并显示出来。