作业要求https://edu.cnblogs.com/campus/nenu/2018fall/homework/2148
代码地址https://coding.net/u/xumonv/p/f4/git/tree/master/f4
我的结对编程伙伴是张帅同学,下面为我们的照片
工作地点:冬华b523
计算机:张帅的笔记本
人员:我(左)和张帅
功能一
在实现功能一时我们遇到的主要困难是当遇到除不开的情况如何以分数形式给出结果,以及如何在能除开的情况下以小数给出结果。后来经过查资料我们写了一个判断分母质因数是否含有3或7,如果没有用fraction函数来解决(后面功能二里问题变得复杂化,最后没能实现除尽的以小数表示),如果有则能除尽以小数形式表达。还有一个问题就是当出现除以0时,程序会发生错误,于是我们对算式进行判断,当‘/’后面出现0时便重新出题。
编程收获:学会了fraction函数的用法
功能二
这里的困难主要是括号如何加的问题,最后我们决定将所有加括号的情况都列出,一共10种情况,然后随机采用进行出题。再一个难点是对算式结果的计算,我们通过查找资料使用逆波兰的方法对结果进行了计算。
编程收获:了解了逆波兰,还需不断练习,加深领悟。
功能三
讨论了很多方法,比如结果一样时对式子进行分析,当数字元素和算数符号符合某种情况时就可以排除,张同学总能举出反例只好作罢。实现排版要求时没遇到什么困难。
功能四
主要困难是如何将结果转化为带分数,最后采用正则表达式的方法对结果分三部分依次输出,实现了功能。
结对编程体会
结对编程比起单独编程来更加有趣,更能提高我的积极性,因为我喜欢比伙伴更快想出解决问题的方法的感觉,但是意见不统一会造成许多麻烦,但采用他的想法的时候,我会因不是自己的思路而只能看着他做。这就导致了有思路的人急着开车而算法未被采用或没思路的人只能做一些寻找错误之类的事而不能完全起到导航的作用。
花费时间较长,给你较大收获的事件
1.在功能一中除尽除不尽的两种结果形式的表达里我们想出了判断质因子的方法来解决,这让我学会了编程中应多加应用数学知识的道理。
2通过栈来实现中缀转后缀。
3.实现功能二时采用逆波兰的方法,中缀转后缀,对加括号后的式子进行求解,使我对逆波兰有了一定的了解。
4.使用正则表达式对计算结果的假分数进行处理,完成带分数形式的输出。
5.当遇到除0的情况时适用try...except....pass的语句来重新出题。
点评我的伙伴
优点:张帅同学对编程有着极高的热情,面对层出不穷的bug总是充满了干劲,具有优秀的专业能力,对代码的实践给予了很大帮助。
缺点:遇到困难的时候不能经常提出可行的解决问题方法,缺少对如何实现功能的思考。