您的位置:首页 > 编程语言

(2016春) 作业4:结对编程—词频统计

2016-03-17 22:29 357 查看

作业4:结对项目—— 词频统计

0. 时间/计分

总分40 分

提交分2 阶段:

第一阶段提交[必做1],截止时间 2016-03-22,24点;

第二阶段提交[必做2]、[选做1]、[选做2],截止时间2016-03-29,24点。

PS: 必做题 每个阶段必须提交;选做题不做强制要求。

1. 目标

代码复审练习

结对练习

编写单元测试

2. 要求

[必做 1] 基于作业3的结果,读取一个较小的文本文件A_Tale_of_Two_Cities.txt,统计该文件中的单词的频率,并将统计结果输出到当前目录下的 Result1.txt 文件。 (第一阶段初稿完成该要求)

命令行格式: 提示符> Myapp.exe -f filename.txt > Result.txt (PS:C++ 程序,Java 程序输出方式类似) filename.txt 为前面下载的文件名。PS: 命令行格式的程序编写参考

解释:

选项 -f 表示后面跟文件名

输出格式规定(参考作业3中的示例):

首先按照频率由高到低排序

频率一样的词, 按照字典顺序排序

此外, 读取一个较大的文本文件Gone_with_the_wind.txt实验对比程序执行效率,做如下改进,比较改进前后程序执行时间。PS: 请看一位同学做的效能分析示例

原先程序中循环部分如下:

for (int i = 0; i < infoIds.size(); i++)
{
Entry<String, Integer> id = infoIds.get(i);
System.out.println(id.getKey()+":"+id.getValue());
}

改进后程序如下:

len= infoIds.size();             // 先计算
for (int i = 0; i < len; i++)
{
Entry<String, Integer> id = infoIds.get(i);
System.out.println(id.getKey()+":"+id.getValue());
}


[必做 2] 读取小文本文件A_Tale_of_Two_Cities.txt 或者 大文本文件Gone_with_the_wind.txt,统计某一指定单词在该文本文件中出现的频率。

命令行格式: 提示符> Myapp.exe -f filename.txt -w word (PS:C++ 程序,Java 程序输出方式类似)

解释:

选项 -f 表示打开某一文件(filename.txt)

选项 -w 表示统计其后单词(word)在打开的文件(filename.txt)中的频率。

[选做 1] 对于在指定目录下(递归)的所有的文本文件(例如扩展名为:"txt", "cpp", "h", "cs", "java"等),计算每个单词的出现频率,并将结果输出到一个文本文件

命令行格式: 提示符> Myapp.exe -d directory-name > result.txt (PS:C++ 程序,Java 程序输出方式类似)

解释:

选项 -d 表示后面跟目录(path)

[选做 2] 写至少10个单元测试,确保程序结果正确(例如,对于空目录应该输出空)

3. 提交

特别要求:

博客开头描述: 结对的对象( 1. 博客地址 ,2. 编写系统的Github 链接, 3.双方的贡献比例, 4. 结对编程照片(证据))

博客总结部分,写出你在结对编程过程是不是遇到困难,双方沟通怎么沟通的?你的心得、收获等。

其它要求 同作业3

4. 定义

同作业3 要求
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: