201671010449 楊天超 實驗二英文詞頻統計設計步驟

Github項目地址:https://github.com/369BRabc/simple-git

1、需求分析:

根據老師提供的項目「英文詞頻統計」分析可知需求有一下幾項。    

1.詞頻統計應用很普遍,就像咱們平時看到的英語四級和考研單詞書,每一個單詞後面都有考頻。這些都是經過英文詞頻統計軟件來對近十幾年的試卷所作的一個統計。

2.詞頻詞頻統計須要實現的幾個基本功能有:可任意讀取英文文本文件;對指定單詞可進行出現次數的統計,並輸出直觀的柱狀圖便於用戶觀察;還可統計指定詞頻K及以上的單詞有哪些;統計該文本全部出現的單詞已詞頻。

2、功能設計:

1.程序可讀入任意英文文本文件,該文件中英文詞數大於等於1個。github

2.程序須要很壯健,能讀取容納英文原版《哈利波特》10萬詞以上的文章。編程

3.指定單詞詞頻統計功能:用戶可輸入從該文本中想要查找詞頻的一個或任意多個英文單詞,運行程序的統計功能可顯示對應單詞在文本中出現的次數和柱狀圖。學習

4.高頻詞統計功能:用戶從鍵盤輸入高頻詞輸出的個數k,運行程序統計功能,可按文本中詞頻數降序顯示前k個單詞的詞頻及單詞。測試

5.統計該文本全部單詞數量及詞頻數,並能將單詞及詞頻數按字典順序輸出到文件result.txt。編碼

3、設計實現:

1.定義一個包含單詞和頻率兩個成員的結構體來統計詞頻(進行了動態分配內存,能夠處理較大文本)。設計

2.讀取指定的文檔。代碼規範

3.獲取字符,再根據取得的字符是不是字母進行不一樣的處理。code

4.採用快速排序法對統計結果進行排序。blog

5.將整個統計結果循環輸出

4、測試運行:

5、代碼展現:

void wordCount() //統計單詞
{
int i=0,j=0;
char word[Word_Max],c;
while(!feof(fp))
{
fscanf(fp,"%c",&c);
if(isnotWord(c))
{
word[j]='\0';
if(j>0)
{
addWord(word);
}
j=0;
}
else
{
word[j]=c;
j++;
}
i++;
}
}

6、總結:

本次實驗對我來講難度較大,不能獨立解決。上網查閱相關資料後,利用掌握的C++知識,再整合網上的部分代碼,最後完成了本次實驗。在上網查閱的過程當中瞭解到詞頻統計實驗是實戰過程當中最基礎最基本的軟件設計,同時也意識到本身的編程能力多麼薄弱。從此必定要大量閱讀別人實戰的例子,多加練習以加強本身的編程能力。

7、展現PSP:

PSP2.1 任務內容 計劃共完成須要的時間(min) 實際完成須要的時間(min)
Planning 計劃 12 15
Estimate 估計這個任務須要多少時間,並規劃大體工做步驟 300 360
Development 開發 200 180
Analysis 需求分析 (包括學習新技術) 60 60
Design Spec 生成設計文檔 30 30
Design Review 設計複審 (和同窗一塊兒審覈設計文檔) 20 30
Coding Standard 代碼規範 (爲目前的開發制定合適的規範) 20 25
Design 具體設計 30 40
Coding 具體編碼 180 220
Code Review 代碼複審 40 50
Test 測試(自我測試,修改代碼,提交修改) 30 40
Reporting 報告 40 60
Test Report 測試報告 6.86 6.86
Size Measurement 計算工做量 30 30
Postmortem & Process Improvement Plan 過後總結 ,並提出過程改進計劃 20 20
相關文章
相關標籤/搜索