本文档随时可能修改,并且没有另行通知。

请确保每一次在开始修改你的代码前,读标题中的日期,如果晚于你上次阅读,

请重读一次。

老五在寝室吹牛他熟读过《鲁滨逊漂流记》,在女生面前吹牛热爱《呼啸山庄》

《简爱》和《飘》,在你面前说通读了《战争与和平》。但是,他的四级至今没

过。你们几个私下商量,这几本大作的单词量怎么可能低于四级,大家听说你学

习《构建之法》,一致推举你写个程序名字叫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 词汇计数的错误。

词频统计 SPEC 20160911的更多相关文章

  1. 词频统计 SPEC 20170914 1 1 1 1 1

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

  2. 【week2】 词频统计第一次更新

    词频统计: 对每个功能预计时间: 功能 预计(min) 实际(min) 数据流读入 20 40 正则规范字符串 15 20 排序 30 45 输出 20 30 其他   25 词频统计psp 日期 类 ...

  3. 软工结对项目之词频统计update

    队友 胡展瑞 031602215 作业页面 GitHub 具体分工 111500206 赵畅:负责WordCount的升级,添加新的命令行参数支持(自定义输入输出文件,权重词频统计,词组统计等所有新功 ...

  4. 软工之词频统计器及基于sketch在大数据下的词频统计设计

    目录 摘要 算法关键 红黑树 稳定排序 代码框架 .h文件: .cpp文件 频率统计器的实现 接口设计与实现 接口设计 核心功能词频统计器流程 效果 单元测试 性能分析 性能分析图 问题发现 解决方案 ...

  5. 论文爬取 & 词频统计2.0

    一.Github地址      课程项目要求    队友博客 二.具体分工 031602225 林煌伟 :负责C++部分主要功能函数的编写,算法的设计以及改进优化 031602230 卢恺翔 : 爬虫 ...

  6. 【第二周】Java实现英语文章词频统计(改进1)

    本周根据杨老师的spec对英语文章词频统计进行了改进 1.需求分析: 对英文文章中的英文单词进行词频统计并按照有大到小的顺序输出, 2.算法思想: (1)构建一个类用于存放英文单词及其出现的次数 cl ...

  7. 词频统计 ——Java

    github地址 :https://github.com/NSDie/personal-project 一.计划表 PSP2.1 Personal Software Process Stages 预估 ...

  8. 作业3-个人项目<词频统计>

    上了一天的课,现在终于可以静下来更新我的博客了.       越来越发现,写博客是一种享受.来看看这次小林老师的“作战任务”.                词频统计 单词: 包含有4个或4个以上的字 ...

  9. C语言实现词频统计——第二版

    原需求 1.读取文件,文件内包可含英文字符,及常见标点,空格级换行符. 2.统计英文单词在本文件的出现次数 3.将统计结果排序 4.显示排序结果 新需求: 1.小文件输入. 为表明程序能跑 2.支持命 ...

随机推荐

  1. 第 14 章 结构和其他数据形式(伸缩型数组成员C99)

    伸缩型数组成员C99 声明一个伸缩型数组成员的规则: 1.伸缩型数组成员必须是结构的最后一个成员: 2.结构中必须至少有一个成员: 3.伸缩数组的方括号是空的. 示例 struct flex { in ...

  2. 折射向量计算(Refraction Vector Calculation)

    上个月学习Peter Shirley-Ray Tracing in One Weekend的系列三本书,收获真的很多.这个系列的书真的是手把手教你如何从零开始构建一个光线跟踪渲染器,对新手(像我)非常 ...

  3. 技术分享之AQS——内容提要

    1. 背景 最近团队内部技术分享,我做了个关于AQS的分享.ppt中涵盖的部分要点内容,现在整理到博客上. 关于AQS本身的源码解读,可以参考我之前的博文. 2. 要点梳理 下面是一些技术分享的要点梳 ...

  4. Vue.js实现前段评论展示

    本来想着给这个博客弄个回复系统(类似知乎的回复),最初的实现思路是这样的:主评论后台渲染,前台新增的评论,回复用jquery操作dom放到页面上.实现的时候感觉好复杂,大量的dom操作,目前前段框架不 ...

  5. JQUERY方法给TABLE动态增加行

    比如设置table的id为tabvar trHTML = "<tr><td>...</td></tr>"$("#tab&q ...

  6. Thinkphp5.0分页和跳页

    后台查询商品或者会员量需要用到分页展示列表,当页数比较多的时候为了体高用户体验度,需要添加一个跳页也就是手动输入页码数进行快速跳转指定页面.由于手动编写分页比较麻烦,又想使用TP5自带的分页,但是TP ...

  7. SQL必知必会摘要

    数据检索 2.2 检索单个列 SELECT prod_name FROM Products; SQL语句不区分大小写   2.3 检索多个列 SELECT prod_name,prod_id,prod ...

  8. Mysql从库复制的2个问题

    .为什么执行stop slave; 再start slave;可以继续主从关系呢? 其实执行stop slave;就是分别关闭了I/O线程(stop slave IO_THREAD;)和SQL线程(s ...

  9. DQN(Deep Reiforcement Learning) 发展历程(三)

    目录 不基于模型(Model-free)的预测 蒙特卡罗方法 时序差分方法 多步的时序差分方法 参考 DQN发展历程(一) DQN发展历程(二) DQN发展历程(三) DQN发展历程(四) DQN发展 ...

  10. day79

    昨日回顾 昨日回顾: cookie: -是什么?存储在客户端浏览器上的键值对 -干啥用的?记录状态 -django中使用: -设置值: -HttpResponse对象,obj.set_cookie(k ...