zoukankan      html  css  js  c++  java
  • (2016春) 作业4:结对编程—词频统计

    作业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 要求
  • 相关阅读:
    BZOJ1070: [SCOI2007]修车(最小费用最大流,思维)
    CF892D—Gluttony(思维,好题)
    BZOJ1005--[HNOI2008]明明的烦恼(树的prufer编码)
    HDU–5988-Coding Contest(最小费用最大流变形)
    【转】HDU 6194 string string string (2017沈阳网赛-后缀数组)
    【转】Codeforces Round #406 (Div. 1) B. Legacy 线段树建图&&最短路
    HDU6513/CCPC2017--A Secret(KMP)
    8.19-星期五
    CodeForces–830B--模拟,树状数组||线段树
    js实现360度图片旋转
  • 原文地址:https://www.cnblogs.com/juking/p/5289765.html
Copyright © 2011-2022 走看看