0. 阶段1 - 结对项目:词频统计——基本功能
1. 目标
- 使用开发工具 (Eclipse 或者 Visual Studio)
- 开发语言 (C、C++、C# 或者Java )
- 使用源代码管理工具(Github)
2. 要求
实现一个控制台程序,给定一段英文字符串文件,统计其中各个英文单词的出现频率。
输入文件名以命令行参数传入。例如我们在命令行窗口(cmd)中输入:
wordCount.exe input.txt
//Java语言
java wordCount input.txt
则会统计input.txt中的以下几个指标:
- 统计文件的单词总数,单词:至少以4个英文字母开头,跟上字母数字符号,单词以分隔符分割,不区分大小写。
- 英文字母:
A-Z
,a-z
- 字母数字符号:
A-Z
,a-z
,0-9
- 分割符:空格,非字母数字符号
- 例:
file123
是一个单词,123file
不是一个单词。file
,File
和FILE
是同一个单词
- 英文字母:
- 统计文件的有效行数:任何包含非空白字符的行,都需要统计。
- 统计文件中各单词的出现次数,最终只输出频率最高的10个。频率相同的单词,优先输出字典序靠前的单词。
- 按照字典序输出到文件result.txt:例如,windows95,windows98和windows2000同时出现时,则先输出windows2000
- 输出的单词统一为小写格式
- 输出的格式为:
characters: number
words: number
lines: number
<word1>: number
<word2>: number
...
- 性能分析:
- 对C++代码运行VS的性能分析工具,找出性能问题并进行优化。
- 对Java程序运行性能分析工具 NetBeans IDE 6.0,找出性能问题并进行优化。
3. 提交(博客)
提交内容包括:
- 提交 V1.0 可以编译运行的源码到github 或码云(gitee)(5分)
- 确保结果正确
- 不要有警告
- 良好的性能
- 确保单元测试代码通过
- 提交博客 (博客标题:
作业 n:词频统计——基本功能
)(5分)
- 项目 Git地址,程序运行模块(方法、函数)介绍(2分)
- 程序运行案例截图(1分)
- 描述你花了多少时间在提高程序性能上,利用VS的性能分析工具,展示你的性能图表(1分)
- 结对编程照片(1分)