现代软件工程 作业 个人项目

MSRA Advanced Software Engineering

Project:  Individual Project - Word frequency program

2010/11/1

考察重点:

    基本算法的实现; 基本I/O;  字处理; 程序效能分析; 简单测试用例

 

Implement a console application to tally the frequency of words under a directory (based on 2 modes).

 

For all text files under a directory (recursively) (file extensions: "txt", "cpp", "h", “cs”),   calculate the frequency of each word, and output the result into a text file.  Write the code in C#, using .Net Framework,  the running environment is 32-bit Win7.

 

Run performance analysis tool on your code, find bottlenecks and improve.

 

Enable Code Quality Analysis for your code and get rid of all warnings.

 

Write  10 simple test cases to make sure your program can handle these cases correctly (e.g.  a good test case could be: one of the sub-directories is empty).

 

Submission:

·         Submit your source code and exe to TA, TA will run it on his testing environment and check for a) correctness and b) performance

·         Submit your test cases to TA.

 

Definition:

·         A word: a string with at least 3 letters, separated by delimiters. If a string contains non-alphanumerical letters, it’s not a word.  The word is case insensitive,  i.e. “file”, “FILE” and “File” are considered the same word.

·         Delimiter: space, non-alphanumerical letters (,.<>|\)[]{!@#$%^&*()_+=-}”).

·         Output text file: filename is <your email alias>.txt

o   Each line has this format

<word>: number

                Where “number” is the number of times this word appears in the scan.  The output should be sorted with most frequently word first.  If 2 words have the same frequency, list the words by alphabetical order.

 

Requirements:

1)     Simple mode.   Simple word frequency.

Myapp.exe <directory-name>

Will output <your-alias>.txt file in current directory,  the text file contains word ranking list.

2)     Extended mode.  If 2 words are different only on the ending numbers.  For example, we consider “win”, “win95” and “win7” are ONE WORD;  “Office” and “Office15” are the same.   “win”  and “win32a” are DIFFERENT words, as the difference are more than just ending numbers. “21century” and “century” are DIFFERENT words too.

 

When running with “-e” command line parameter,

Myapp.exe –e <directory-name>

 

Will output <your-alias>.txt file  in current directory,  the text file contains word ranking list, but the frequency is calculated based on the extended mode definition. 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/500535.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

现代软件工程 团队博客作业 如何评价个人在团队中的绩效

在现实社会中有很多团队合作的项目, 他们是如何评价个人在团队中的绩效呢? 例如下面的情况: • 一群人把一堆砖头从A地搬到B地• 一个剧组排演话剧• 一群队员在职业球队踢球• 医生和护士做手术• 计算机系的一群老师教课• 一群学生做软工项目 (PM, Dev, Test) (这是重点) …

手势在c语言的作用,手势态度在人际交往中的重要性

一、人际交往的定义及其在社会活动中&#xff0c;人们运用语言符系统或非语言符系统相互之间交流信息&#xff0c;沟通情感的过程就是人际交往。人际交往是人们共同活动的特殊形式。任何个人或群体进行的交往&#xff0c;总是为达到某种目标、满足某种需要而展开的。二、人际交…

现代软件工程 结对编程 (I) 三维棋类游戏

Pair Project I 3D Board Game Turn a usual 2D board game into 3D by transferring board and game rules into 3D. Goal: how to collaborate in explorative situation (new requirement, new language, lots of ambiguity) 把一个二维的棋类游戏变成三维游戏, 两周时…

洛谷找最小值c语言,洛谷 P1478 陶陶摘苹果(升级版) C语言实现

原题地址&#xff1a;P1478 淘淘摘苹果(升级版)- 洛谷题目描述又是一年秋季时&#xff0c;陶陶家的苹果树结了n个果子。陶陶又跑去摘苹果&#xff0c;这次她有一个a公分的椅子。当他手够不着时&#xff0c;他会站到椅子上再试试。这次与NOIp2005普及组第一题不同的是&#xff1…

现代软件工程 结对编程 (II) 电梯调度 算法和测试框架

[很多同学完成了上一个结对编程项目后, 很想知道下一个项目是什么, 我们这次要练习如何设计 接口, 测试框架, 和算法. ] [博客园的朋友们也可以试一试怎么高效地解决这个问题] 现代软件工程系列 结对编程 (II) 电梯调度程序 ------- Pair Project II Elevator Scheduler D…

c语言入门自学为什么要用,为什么要将C语言作为入门语言?

编程是向计算机发出指令以执行特定任务或执行指令的行为&#xff0c;目前专业行业和学术界使用数百种编程语言。一个人需要熟悉并且能够使用至少几种编程语言进行编程才能作为目前专业开发者的成功。学习编程的最好理由在于它对所有人开放&#xff0c;你不需要大学学位即可通过…

c语言case接收字符,switch-case-break:字符释义 | 新思维:C语言程序设计

【问题&#xff1a;字符解释】从键盘输入一个字符&#xff0c;当输入的字符为“y”或“n”或“c”时&#xff0c;分别显示“Yes”、“No”、“Cancel”&#xff0c;输入其他字符时显示“Illegal!”。#include int main(int argc, char *argv[]){char cgetchar();switch(c) {cas…

现代软件工程讲义 如何提出靠谱的项目建议

互联网时代对于创新者来说, 既是一个伟大的时代, 又是一个糟糕的时代。 你有很多机会做出影响世界的产品, 但是, 似乎任何想法都被别人想到过了, 做出来了, 上市了, 移植到各种平台上去了… 那么我们后来人除了羡慕别人生得早, 还有什么机会呢? 但是往往不经意间, 在同学们…

现代软件工程 教学计划 中国科学技术大学-微软亚洲研究院联合培养班

屈指一算, 我已经讲了3年 <现代软件工程>, 教了 4 个班。 2007 - 2009 清华大学理论计算机科学研究中心 (姚班) 2009 北航计算机系还有在北大合作的教学: 2007 - 2009 北京大学软件学院 (课程名叫 - 微软软件实现技术, 我是讲师之一) …

c语言程序设计主编张玉生教材答案,清华大学出版社-图书详情-《Visual Basic程序设计实验指导》...

前言Visual Basic程序设计实验指导本书是《Visual Basic 程序设计教程》的配套实验指导书&#xff0c;全书内容分为四部分。第1部分为实验指导&#xff0c;设计了18个实验&#xff0c;每个实验都是编者精心设计和选择的&#xff0c;所构思的实验内容选材合理&#xff0c;实验目…

基础知识很扎实 - 但是面试就是做不出来, 怎么办? (长, 慎入)

http://www.newsmth.net/bbstcon.php?boardMicrosoft&gid48785 有人提问: 看了很多的面试题之类的&#xff0c;感觉虽然自己数据结构与算法基础知识很扎实&#xff0c;但还是做不出来&#xff0c;所以请高人指点。 这个问题看似迷惑, 其实提问的人搞混了两件事 - “数据…

c语言中的for循环怎么提前终止,[新人求指教]51C语言编程可否用中断令循环结束提早结束...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼C51_C语言编程控制流水灯硬件电路 p0 接 led 8 个&#xff0c;P33 接按键使用中断2开机灯按1~8逐位闪烁&#xff0c;并循环按键后改为 两灯亮 的流水灯下面写了个程序#include #include #define uchar unsigned char#define uint u…

湖南工程学院+c语言程序设计人事档案管理系统,程序设计人事档案管理系统.doc...

课 程 设 计 报 告课程名称 C语言程序设计课题名称 人事档案管理系统专 业 电子信息班 级 1001班学 号 201001030112姓 名指导教师 肖伟平 黄哲 罗敬2011年 6 月 23 日湖南工程学院课 程 设 计 任 务 书课程名称 C语言程序设计课 题 人事档案管理系统专业班级 电子信息1001班学…

敏捷软件开发宣言ndash;Manifesto for Agile Software Development

敏捷开发, 谁不会呀, 不就是 没文档, 出活快, 用户说啥都能改?下面是一个笑话, 王屋村的大牛说 - 我最近转手接了一个活, 完事能挣四五万, 我拿过图纸一看, 不就是盖一烟囱吗? 我们是敏捷 (Agile) 的团队&#xff0c;要文档作甚? 马上开始干活&#xff01;都快盖好了&…

2015电大c语言,2015电大本科C语言程序设计A试题汇总.doc

2015电大本科C语言程序设计A试题汇总2015年电大本科《C语言程序设计A》一、单选题1&#xff0e;在每个C语言程序中都必须包含有这样一个函数&#xff0c;该函数的函数名为 A 。A. main B. MAIN C. name D. function 2&#xff0e;每个C语言程序文件的编译错误分为(B)类。 A. 1 …

现代软件工程 - 代码量等于树叶量

我 2008年在清华大学上<现代软件工程> 的时候, 和同学讨论了代码量的问题。 同学说&#xff0c;许多相似课程都有“代码量”的要求&#xff0c;就是说软件工程的项目选题如果没有到一定量的代码&#xff0c;就不能算合格的选题。 老师助教专门花时间分析学生的代码是否…

计算机二级考试c语言公共基础知识,全国计算机二级c语言公共基础知识考试内容.doc...

全国计算机二级c语言公共基础知识考试内容全国计算机二级等级考试的笔试包括基础知识和程序设计两部分&#xff0c;其中基础知识占30分。以下是由关于全国计算机二级c语言公共基础知识考试内容的内容&#xff0c;希望大家喜欢!全国计算机二级c语言公共基础知识考试内容一、C语言…

现代软件工程 其实还是人的问题

在《现代软件工程》这门课程上&#xff0c;大家分成6-7人的小组进行项目开发&#xff0c;有项目经理 (PM)&#xff0c;有开发人员 (dev)&#xff0c;测试人员 (test) 等。不久就有PM说&#xff0c;怎么小组里有些人就是不干活&#xff1f; 最早&#xff0c;大家假设所有人都是…

现代软件工程系列 结对编程 (II) 电梯调度程序新需求

原来布置的作业在这里: http://www.cnblogs.com/xinz/archive/2010/11/28/1890300.html 正如在现实生活中一样, 软件项目的需求也会经常发生变化. 原题假设所有电梯都停靠所有楼层, 我们改成各个电梯停靠的楼层不尽相同。这在实际生活中也很常见。 例如原来: Elevator name…

nodejs怎么与c语言通信费是什么,NodeJS介绍与使用

NodeJS是什么Node.js是一个基于Chrome V8引擎的JavaScript运行时。NodeJS并不是一门语言&#xff0c;JavaScript才是一门语言&#xff0c;他是一个运行时&#xff0c;如果想要在服务器端运行就需要运行时。nodeJS使用了一个事件驱动、非阻塞式I/O的模型非阻塞式I/OI/O:就是inpu…