词频统计 SPEC 20160911

本文档随时可能修改,并且没有另行通知。
请确保每一次在开始修改你的代码前,读标题中的日期,如果晚于你上次阅读,
请重读一次。

老五在寝室吹牛他熟读过《鲁滨逊漂流记》,在女生面前吹牛热爱《呼啸山庄》
《简爱》和《飘》,在你面前说通读了《战争与和平》。但是,他的四级至今没
过。你们几个私下商量,这几本大作的单词量怎么可能低于四级,大家听说你学
习《构建之法》,一致推举你写个程序名字叫wf,统计英文作品的单词量并给出
每个单词出现的次数,准备用于打脸老五。

希望实现以下效果。以下效果中数字纯属编造,。

功能1. 小文件输入. 为表明程序能跑,结果真实而不是迫害老五,请他亲自键
盘在控制台下输入命令。

>type test.txt
My English is very very pool.

>wf -s test.txt
total 5

very    2
my      1
english 1
is      1
pool    1

为了评估老五的词汇量而不是阅读量,total一项是不重复的单词的个数,出现2
次的very计数1次。

此功能完成后你的经验值+10.

功能2. 支持命令行输入英文作品的文件名,请老五亲自录入。

>wf gone_with_the_wand
total  1234567 words

the    5023
a      4783
love   4572
fire   4322
run    3822
cheat  3023
girls  2783
girl   2572
slave  1322
buy     822

此功能完成后你的经验值+30. 输入文件最大不超过40MB. 如果你的程序中途崩
了,会被老五打脸,不增加经验值。

功能3. 支持命令行输入存储有英文作品文件的目录名,批量统计。
>dir folder
gone_with_the_wand
runbinson
janelove
>wf folder
gone_with_the_wand
total 1234567 words

the    5023
a      4783
love   4572
fire   4322
run    3822
cheat  3023
girls  2783
girl   2572
slave  1322
buy     822
----
runbinson
total  1234567 words

friday    5023
sea       4783
food      4572
dog       4322
run       3822
hot       3023
cood      2783
cool      2572
bible     1322
eat        822
----
janelove
total  1234567 words

love    5023
chat    4783
lie     4572
run     4322
money   3822
inheritance     3023
class   2783
attribute       2572
data    1322
method  822

因为单词量巨大,只列出前10个单词的词频。
此功能完成后你的经验值+8.

功能4. 从控制台读入英文单篇作品,这不是为了打脸老五,而是为了向你女朋
友炫酷,表明你能提供更适合嵌入脚本中的作品(或者如她所说,不过是更灵活
的接口)。如果读不懂需求,请教师兄师姐,或者 google: linux 重定向,仅管
这个功能在windows下也有,搜索关键词中加入linux有利于迅速找到。

>wf -s < the_show_of_the_ring

total 176
the  6
a    3
festival   2
dead 2
for 2
...

>wf
A festival for the dead is held once a year in Japan. The festival is
a cheerful occation, for the dead are said to return to their homes
and they are welcomed by the living.

total 176
the  6
a    3
festival   2
dead 2
for 2
...

要求 !,必选项。此项完成+50,此项不做-50.

参照《构建之法》表2-3和表2-4,为你的PSP表格第1列分类。
你的PSP表格中的第2列,即任务,可以是上述功能按你更细分的子功能。

要求1,发布你对每个功能 (或/和子功能)的预计花费时间,时间颗粒度不得低
于小时。

要求2,发布记录词频统计项目的PSP表格,时间颗粒度要求分钟。

要求3,把PSP表格统计结果填入表2-3。

要求4,对比要求1和要求3中每项时间花费的差距,分析原因。

致谢

感谢沈柏杉指出命令行的输入和输出没有用不同的格式排版,因此容易令人误解。目前此缺欠仍未修正。
感谢张金生指出 test.txt 词汇计数的错误。

posted on 2016-09-10 22:16  杨贵福  阅读(515)  评论(6编辑  收藏  举报