结对编程

结对编程(地铁线路最短路径)

拈花ヽ惹草 提交于 2019-12-03 15:45:49
一、需求分析 实现一个帮助进行地铁出行路线规划的命令行程序。 1、任务 需求1: 实现一个支持显示地铁线路与计算换乘的程序。之后,用户可以通过命令行启动这个程序。程序在启动时,会读取不同命令对应的命令行参数。对于地铁线路信息图,我们约定它采用参数 -map 作为标志。程序启动时需要通过读取 -map 参数来获得对应的自定义地铁文件(命名为 subway.txt),从而得到地铁线路图的信息。 需求2: 实现基础的查询操作。比如说,用户希望查询指定地铁线经过的站点。这样,在应用程序需要支持一个新的命令行参数 -a,它指定了用户希望查询的地铁线路。这样,在给定地铁线路时,你的程序就需要能够从线路的起始站点开始,依次输出该地铁线经过的所有站点,直到终点站。输出的文件我们使用 -o 命令行参数来指定。 需求3: 实现一个计算任意两个站点间最短路径(经过的站点数最少)的程序,并输出经过的站点的个数和路径(包括出发站,目的站与换乘线路)。如果用户希望坐地铁,他希望能通过最少的站数从出发点到达目的地,这样就可以在命令行中以 -b 参数加两个地铁站点名称分别作为出发与目的,比如用户希望知道 洪湖里 到复兴路 之间的最短路线是怎样的,他就可以使用如下命令让程序将结果写入 routine.txt 中:subway.exe -b 洪湖里 复兴路 -map subway.txt -o routine.txt

算法第三章作业

可紊 提交于 2019-12-03 15:28:36
一、对动态规划算法的理解 动态规划其实与分治法类似,也是把一个问题分解成多个子问题,但是分治法在求解子问题时往往会有很多重复的计算,就会造成大量的时间浪费,而动态规划做的就是将这些子问题的计算结果保存起来,当需要用到的时候就可以直接调用,然后就是通过这样一种方式,一层层的求解,最后得出整个问题的结果。 二、递归方程 1 .单调递增最长子序列 2 .租用游艇问题 三、结对编程情况 结对编程效果显著,很多时候一个问题由一个人想可能想破脑袋都想不出来,但是如果多一个人跟你一起想的话情况就会有很大的不同,因为往往一句不经意的话就可能给双方带来灵感,这次的作业题就是这样的情况,一开始我完全没有解题的思路,直到之后跟同学讨论了一下之后,瞬间醍醐灌顶,对动态规划的理解加深了很多,然后举一反三,一口气就把几道题做完了。 来源: https://www.cnblogs.com/Raido/p/11802293.html

结对编程作业

流过昼夜 提交于 2019-12-03 14:26:33
一、任务: 实现一个能处理正确输入的命令行的计算地铁线路最短路径的程序。 任务需求: 1.对于地铁线路信息图,我们约定它采用参数 -map 作为标志。程序启动时需要通过读取 -map 参数来获得对应的自定义地铁文件(命名为 subway.txt),从而得到地铁线路图的信息。 `java subway - map subway.txt ` 2.用户希望查询指定地铁线经过的站点。这样,在应用程序需要支持一个新的命令行参数 -a ,它指定了用户希望查询的地铁线路。 ` java subway -a 1号线 -map subway .txt -o station .txt ` 3.用户希望坐地铁,他希望能通过最少的站数从出发点到达目的地,在命令行中以 -b 参数加两个地铁站点名称分别作为出发与目的。 ` subway .exe -b 洪湖里 复兴路 -map subway .txt -o routine .txt ` 二、PSP PSP 2.1 Personal Software Process Stages Time Planning 计划 · Estimate · 估计这个任务需要多少时间 3weeks Development 开发 · Analysis · 需求分析 (包括学习新技术) 1day · Design Spec · 生成设计文档 2days · Design Review

英文文本词频分析系统设计报告——李少楠、张书桓

江枫思渺然 提交于 2019-12-03 13:59:43
英文文本词频分析系统设计报告 组员:李少楠、张书桓 0 前期工作 团队分工: 组长:李少楠   主要工作:领导项目,负责软件的交付工作以及编写程序   优点: 1.擅长后台程序开发 2.擅长系统设计 3.有较强解决bug问题的能力 组员:张书恒   主要工作:收集资料,NABCD,帮助提供单元测试的具体内容   优点: 1.擅长交流与分析   2.对实际问题有较强的分析解决能力 结对编程回顾:   在结对之前,我们组体现的就是重视代码的设计,我们讨论了如何做才能使代码有良好的扩展性和易读性,在这一方面丝毫不吝啬讨论的时间。我也越来越感受到写优雅的代码比写大量的毫无设计的代码更有趣。 体会到的结对的优势: 相互督促,提高代码质量   结对时一个人编码,一个人做审查工作。这样我们更能集中精力,当发现路线走偏了,能立即纠正。或是做一些代码规范,代码效率的提醒。 相互学习经验   在观察队友的同时,可以学习对方编码的经验。就我而言,除了观察队友的编码思路意外,我还会学习他是如何使用IDE的,他用到的IDE的功能,哪些是我没有掌握的,甚至是他在开发过程中用到的其他我没有接触过的工具,这些都是值得学习的。 结对的问题:    1.   需要磨合的时间   2.  沟通也需要大量的时间 最后还要感谢我的组长少楠,在软件设计方面以及项目的调试都教会了我很多,和他一起合作很愉快! 1

结对编程作业(最短地铁路径规划)

本秂侑毒 提交于 2019-12-03 12:13:27
一,需求分析     1.任务:   实现一个帮助进行天津地铁出行路线规划的命令行程序。     主要功能包括:       a.输入 java subway -map subway.txt 要能让程序读入准备的源数据。       b.输入java subway -a 1号线 -map subway.txt -o station.txt要能查出该条地铁线包含的站并保存在station.txt中。       c.输入subway.exe -b 洪湖里 复兴路 -map subway.txt -o routine.txt要能查出两站的最短路径,并保存在 routine.txt中(路径中要包含换乘信息)。    2.PSP    二,软件的设计及算法思想实现    1.源数据结构说明           说明:以*.txt文件存储源数据,每一行代表的是一条线上所有站的信息,其中每一个站用空格隔开,而每一行的第一个数据代表的是该条地铁线的地铁名。    这样存储的好处是可以一次性读完所有的数据,而因为所求地铁不带权,因此只需要读到信息即可!   2.实体类属性说明      博主自定义了2个实体类(Station与Line)     Station包含的信息如下:      String name:主要存储的是地铁的名字。    boolean visited

第二次作业_结对项目_黄金点

假装没事ソ 提交于 2019-12-03 11:44:31
成员:封皓君、顿耀伍 一、项目地址 https://gitee.com/assignment_2/zuoye2.git 我们的《游戏:黄金点》项目是为了解决黄金点这一竞争类策略游戏中,黄金点难以计算,多轮游戏胜负难以评判,需要额外一名裁判玩家、游戏公平性难以保证的痛苦,游戏玩家主要针对全年龄段人群,他们需要足够强大的计算能力以及绝对公平的游戏环境,但是现有的方案并没有很好地解决这些需求,我们有独特的办法即利用计算机的计算能力以及封装后程序的黑箱原理,给用户带来快速的计算能力以及公平的游戏环境,远远超过一般的人工计算方法。同时,可以利用高效率的微信小程序传播途径,能很快地让大部分用户知道我们的产品,并进一步传播。 黄金点游戏规则:游戏参与者N人,每人每轮输入一个0-100的整数(包括0和100),计算平均数并乘以黄金分割数0.618,判断每人输入的数与此数之差,最接近者加分,与此数差距最大者扣分,其余不改变分数,进行多轮游戏后计算总得分,得分最高者获胜。 根据一般黄金点游戏玩家的体验,希望有一款黄金点游戏可以满足以下需求: (1)可以自行决定游戏轮数(游戏轮数通常大于等于1,不超过100); (2)可以自行决定游戏玩家数量(游戏玩家通常大于等于2,不超过100); (3)可以自行决定评分标准(胜利得X分,失败扣Y分,X、Y通常大于等于0),最终游戏结束评分高者获胜;

算法第三章作业

狂风中的少年 提交于 2019-12-03 09:42:18
1.你对动态规划算法的理解。 动态规划算法可以算是分治法的优化版,其思想也是将原问题分解成若干个非独立的子问题,先得子问题的解再得原问题的解。动态规划算法适用于解最优化问题,首先找出最优解性质,递归地定义最优值,再自底向上的方式计算出最优值,最后根据最优值时得到的信息构造最优解。 2.分别列出编程题1、2的递归方程。 (1)m [ i ] = m a x { m [ k ] | a [ k ] < a [ i ] } 1 < = k < i (2)m [ i ] = m i n { c [ i ] [ k ] + m [ k ] } 3.说明结对编程的情况。 结对编程进行得比较顺利,互相学习共同进步,也多了一个可以监督自己学习的对象。 来源: https://www.cnblogs.com/chengyi1102/p/11785911.html

算法第三章作业

瘦欲@ 提交于 2019-12-03 09:30:18
1.动态规划是求解决策过程最优化的数学方法,也是一种能够减少重复运算的一种算法,比较适合原问题能依赖于子问题解得, 而子问题也能够依赖于子子问题解得而出的问题。 2. 编程题1和编程题2的递归方程 3-1 m[ i ] = a[ i ] i = 0; max { a[ i ] , a[ i ] + m[ i - 1 ] } i > 0 3-2 m[ i ] = min { c[ i ][ k ] + m[ k ] } (边界条件为m[ n ] = 0,n为终点) 3. 结对编程情况 结对编程一直都在进行,对自己的帮助还是很大,能知道自己的不足然后与伙伴交流,很好的提升自己的方式。 来源: https://www.cnblogs.com/fengwanthousand/p/11785477.html

结对编程(第15组)

匿名 (未验证) 提交于 2019-12-03 00:40:02
一、Github项目地址 https://github.com/chjohn0/PairProject2018/tree/master 二、PSP表格 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 ・ Estimate ・ 估计这个任务需要多少时间 180 210 Development 开发 ・ Analysis ・ 需求分析 (包括学习新技术) 30 10 ・ Design Spec ・ 生成设计文档 30 20 ・ Design Review ・ 设计复审 (和同事审核设计文档) 10 5 ・ Coding Standard ・ 代码规范 (为目前的开发制定合适的规范) 10 5 ・ Design ・ 具体设计 15 35 ・ Coding ・ 具体编码 20 60 ・ Code Review ・ 代码复审 10 30 ・ Test ・ 测试(自我测试,修改代码,提交修改) 30 15 Reporting 报告 ・ Test Report ・ 测试报告 10 5 ・ Size Measurement ・ 计算工作量 10 5 ・ Postmortem & Process Improvement Plan ・ 事后总结, 并提出过程改进计划 20 20 合计 195 210 三

第二次结对编程作业

我与影子孤独终老i 提交于 2019-12-03 00:23:47
1.博客链接 刘御帆: 作业链接 仓库地址 : 2.具体分工 刘御帆: ·UI界面开发   · 图片收集 ·音乐收集   ·ps ·UI和后端代码连接 许宏健: ·出牌代码   ·网络接口通信 ·服务器数据解析 ·代码上传 ·博客撰写 3.psp表格 PSP4.1 Personal Software Process Stages 预估耗时 (min) 实际耗时 (min) Planning 计划 40 50 Estimate 估计这个任务需要多少时间 10 10 Development 开发 1800 2400 Analysis 需求分析 ( 包括学习新技术 ) 800 1200 Design Spec 生成设计文档 60 40 Design Review 设计复审 30 20 Coding Standard 代码规范 ( 为开发制定合适的规范 ) 30 20 Design 具体设计 80 100 Coding 具体编码 1500 1500 Code Review 代码复审 600 650 Test 测试 ( 自我测试 , 修改 , 提交修改 ) 120 300 Reporting 报告 70 70 Test Report 测试报告 20 20 Size Measurement 计算工作量 10 10 Postmortem & Process Improvement Plan