考生文件夹下有工程文件sjt5.vbp。窗体的设计界面、各控件初始属性设置及有关代码见窗体文件。 考生文件夹下in5.dat文件中保存有一篇英文文章,并有如下要求和限制: (1)文章中除英文单词外,还可含有英文圆括号“( )”、逗号“,”

admin2020-08-10  22

问题 考生文件夹下有工程文件sjt5.vbp。窗体的设计界面、各控件初始属性设置及有关代码见窗体文件。
    考生文件夹下in5.dat文件中保存有一篇英文文章,并有如下要求和限制:
    (1)文章中除英文单词外,还可含有英文圆括号“(  )”、逗号“,”、句号“.”、连字符“-”等标点符号和空格符。
    (2)英文单词问可由一至多个空格符分隔或标点符号分隔。
    (3)标点符号前后可以有零至多个空格符。
    (4)连字符(-)可出现在行内两个单词间或行末,前后不允许有空格符或其他标点符号,连字符两边连接的两个单词视为一个单词。当连字符出现在行末时,表示下一行的第一个单词与本行末的单词为一个单词。
    程序的功能是,当程序运行时,单击“读取并统计”按钮,则按行读取in5.dat文件的内容,并显示到文本框Text1中,同时调用函数过程CountWords统计该行出现的单词数。当文章内全部内容统计结束后,统计结果显示在文本框Text2中;单击“保存”按钮,则保存结果。
    “读取并统计”和“保存”按钮的Click事件过程已经给出,请编写CountWords过程中的代码,以实现上述功能。程序运行界面示意图如图所示。

    注意:考生不得修改窗体文件中已经存在的控件和程序,在结束程序运行之前,必须进行“读取并统计”,且必须单击“保存”按钮保存结果,否则无成绩。最后,程序按原文件名存盘。

选项

答案Line Input语句用于读取顺序文件中一行全部字符,直到遇到回车符为止,故函数CountWords( )的参数为每次读取的一行字符。判断一个字符是否为英文字母,可以将该字符转换为大写,再判断该字符是否满足大于等于“A”且小于等于“z”,若满足,则为英文字母。 步骤1:打开本题工程文件。 步骤2:打开代码编辑窗口,填入相应的代码以实现题目的功能。 Option.Base 1 Dim TotalWords As Integer Private Function CountWords(s As String)As Integer ‘===================考生编写的程序=================== n=0 t=“” For i=1 to Len(s) c=UCase(Mid(s,i,1)) If c>=“A”And c<=“Z”Then t=t+c Elself c=“-”Then lf i<>Len(s) Then t=t+c End If Else d=UCase(Mid(s,i,-1,1)) If d>=“A”And d<=“Z”Then n=n+1 t=“” End If End If Next i CountWords=n End Function Private Sub Command1_Click( ) Dim str As String Dim i As Integer TotalWords=0 Open App.Path&“\in5.dat”For Input As#1 Text1.Text=“” Do While Not EOF(1) Line Input#1.str Text1.Text=Text1.Text&str&vbCrLf TotalWords=TotalWords+CountWords( str) Loop Text2.Text=Total Words Close#1 End Sub Prirate Sub Command2_Click( ) Open App.Path&“\out5.dat”For Output As #1 Print#1.TotalWords Close#1 End Sub 步骤3:调试并运行程序,单击“读取并统计”按钮,再单击“保存”按钮(若未点击“保存”按钮无成绩),最后关闭程序后按题目要求存盘。

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

最新回复(0)