2018(秋)软工作业 4:结对项目之词频统计——基本功能

0. 阶段1 - 结对项目:词频统计——基本功能

1. 目标

  • 使用开发工具 (Eclipse 或者 Visual Studio)
  • 开发语言 (C、C++、C# 或者Java )
  • 使用源代码管理工具(Git)

2. 要求

  1. 实现一个控制台程序,给定一段英文字符串文件,统计其中各个英文单词的出现频率。

    输入文件名以命令行参数传入。例如我们在命令行窗口(cmd)中输入:

     wordCount.exe input.txt
   //Java语言
    java wordCount input.txt

则会统计input.txt中的以下几个指标:
(1) 统计文件的有效行数.

  • 任何包含非空白字符的行,都需要统计。

(2) 统计文件的单词总数.
定义:(单词)是至少以4个英文字母开头,跟上字母数字符号,单词以分隔符分割,不区分大小写。

  • 英文字母:A-Za-z
  • 字母数字符号:A-Za-z0-9
  • 分割符:空格,非字母数字符号
    • 例:file123是一个单词,123file不是一个单词。fileFileFILE是同一个单词

(3) 统计文件中各单词的出现次数,最终只输出频率最高的10个。频率相同的单词,优先输出字典序靠前的单词。
例如,windows95,windows98和windows2000同时出现时,则先输出windows2000
- 输出的单词统一为小写格式
- 输出的格式为:

   characters: number
   words: number
   lines: number
   <word1>: number
   <word2>: number
   ...

特别提醒,为便于单元测试:

  • 上述输出中冒号是英文的":", 其后不能有空格
  • 输出的文件名 result.txt
  • 单词全部小写;

(4) 将第三步结果,输出到文件result.txt

  1. 性能分析:

3. 提交(博客)

提交内容包括:

(1) 提交 V1.0 可以编译运行的源码到码云(gitee)(5分)

  • Fork PairProgram项目 https://gitee.com/ntucs/PairProg.git
  • 新建分支 SEXXX( XXX 为学号后三位),在新分支下新建源代码,编译通过,提交(commit),push 到远端仓库【PairProgram项目】。
  • 程序代码应该能正确编译。
  • 确保单元测试代码通过。(5分,10个测试用例,通过率S。)

(2) 提交博客 (博客标题:作业 4:词频统计——基本功能)(5分)

  • 项目 Git地址,程序运行模块(方法、函数)介绍(1分)
  • 程序算法的时间、空间复杂度分析(1分)
  • 程序运行案例截图(1分)
  • 描述你花了多少时间在提高程序性能上,利用VS的性能分析工具,展示你的性能图表(1分)
  • 结对编程照片(1分)

posted on 2018-08-30 21:34  小林觉  阅读(407)  评论(4编辑  收藏  举报

导航