在考生目录下有一个工程文件sjt5.vbp和文本文件in5.dat,其中有若于个用一个空格符隔开的英文单词。窗体上有2个命令按钮,其功能是: 单击“读数据”按钮,可以读入in5.dat文件中的所有内容并显示在文本框中。 单击“统计”按钮,能

admin2020-08-10  30

问题 在考生目录下有一个工程文件sjt5.vbp和文本文件in5.dat,其中有若于个用一个空格符隔开的英文单词。窗体上有2个命令按钮,其功能是:
    单击“读数据”按钮,可以读入in5.dat文件中的所有内容并显示在文本框中。
    单击“统计”按钮,能够统计长度为5的单词的个数和含有小写字母“a”的单词的个数,并把统计结果依次显示在Text2、Text3文本框中。
    要求:
    (1)去掉程序中的注释符,把程序中的?改为正确的内容。
    (2)编写函数found的代码。
    注意:不能修改程序的其他部分和控件属性,必须通过单击窗体右上角的“×”结束程序,否则无成绩。最后把修改后的文件按原文件名存盘。

选项

答案Mid( )函数的作用是从一个字符串中截取出指定数量的字符。对取得的字符串S的每一个字符进行遍历,若字符不为空格,则将遍历的字符进行拼接;若字符为空格,则对拼接的字符长度进行判断,若为5个字符,则长度为5的单词个数加1;再对拼接的字符是否含有“a”进行判断,若存在字符“a”,则含有字母“a”的单词个数加1。 第1个?处对字符串s进行定义;第2个?处对字符进行拼接;第3个?处由于在Ⅱ结构处调用,则返回值应为布尔值。 考生编写的found( )函数的作用是,两个参数字符串st 和字符串ch,判断ch是否在st中,若在st中,则返回Tree,否则返回False:对字符串st进行遍历,若遍历出来的字符串等于字符串ch,则返回Tree并结束Function过程,否则返回False。 步骤1:打开本题工程文件。 步骤2:打开代码编辑窗口,填入相应的代码以实现题目的功能。 Option Base 1 Dim s As String Private Sub Command1_Click( ) Open App.Path&“\in5.dat”For Input As#1 Line Input#1,s Close#1 Text1.Text=s End Sub Private Sub Command2_Click( ) If Len(s)=0 Then MsgBox“请先使用“读数据”功能!” Else ch $=“” For k=1 To Len(s) c=Mid(s,k,1) If c<> “” Then ch=ch+c Else If Len(ch)=5 Then m=m+1 End If If found(ch.“a”)Then n=n+1 End If ch=“” End If Next k Text2.Text=m Text3.Text=n End If End Sub Private Function found(st As String. ch As String ) As Boolean ‘**********************考生编写********************** For k =1 To Len(st) a=Mid(st,k,1) If a =ch Then Found=True Exit Function End If Next k found =False ‘**********************考生编写结束********************** End Function Private Sub Form_Unload(Cancel As Integer) Open App.Path&“\out5.dat”For Output As#1 Print#1,Text2.Text.Text3.Text Close #1 End Sub 步骤3:调试并运行程序,单击“读数据”按钮,再单击“统计”按钮,结果如图5.5所示,最后关闭程序后按题目要求存盘。

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

最新回复(0)