2018(秋)軟工做業 4:結對項目之詞頻統計——基本功能

0. 階段1 - 結對項目:詞頻統計——基本功能

1. 目標

  • 使用開發工具 (Eclipse 或者 Visual Studio)
  • 開發語言 (C、C++、C# 或者Java )
  • 使用源代碼管理工具(Git)

2. 要求

  1. 實現一個控制檯程序,給定一段英文字符串文件,統計其中各個英文單詞的出現頻率。html

    輸入文件名以命令行參數傳入。例如咱們在命令行窗口(cmd)中輸入:java

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

則會統計input.txt中的如下幾個指標:git

(1) 統計文件的有效行數.算法

  • 任何包含非空白字符的行,都須要統計。

(2) 統計文件的單詞總數.
定義:(單詞)是至少以4個英文字母開頭,跟上字母數字符號,單詞以分隔符分割,不區分大小寫。編程

  • 英文字母:A-Za-z
  • 字母數字符號:A-Za-z0-9
  • 分割符:空格,非字母數字符號
    • 例:file123是一個單詞,123file不是一個單詞。fileFileFILE是同一個單詞

(3) 統計文件中各單詞的出現次數,最終只輸出頻率最高的10個。頻率相同的單詞,優先輸出字典序靠前的單詞。
例如,windows95,windows98和windows2000同時出現時,則先輸出windows2000
- 輸出的單詞統一爲小寫格式
- 輸出的格式爲:windows

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分)
相關文章
相關標籤/搜索