一、实验目标
1)体验敏捷开发中的两人合作。
2)进一步提高个人编程技巧与实践。
二 、实验内容
1)根据以下问题描述,练习结对编程实践;
2)要求学生两人一组,自由组合。每组使用一台计算机,二人共同编码,完成实验要求。
3)要求在结对编程工作期间,两人的角色至少切换 4 次;
4)编程语言不限,版本不限。建议使用 Python 或 JAVA 进行编程。
三、问题描述
开发一个自动生成小学四则运算题目的命令行 “软件”。实现输入你要出题的个数,随机产生四则运算,然后用户回答,并且进行打分。
规则:
用随机数实现100以内的加、减、乘、除运算,其中和与积不能超过100,差不为负(即须大减小),商不为小数或分数(即必须整除)。要求总计输出10个运算式,每输出一个运算式,等待输入结果,然后进行对错判断并输出,最后输出统计答对的题数与分。
1.初步讨论:
1.1编程语言:
预计使用Python的Jupyter Notebook完成本次结对编程实验。
1.2预计实现功能:
先输入一个数,表示要产生的题目数。每次生成一个随机的式子之后,由用户输入答案,系统进行判断。正确则+10分,错误则+0分,并给出正确答案。同时设置统计功能,计算总的分数和答对的题目数,最后输出。
2.程序的总体设计流程图:
3.项目准备
本次项目通过Github平台来托管团队代码来开展协作。首先由队员1在本地创建好python项目,在项目所在目录下创建Git仓库,将首次编写好的项目提交到本
地的Git仓库后,上传到队员1的Github平台。
4.程序结对编程过程
实验中由于队员对有关操作不够了解,我们商讨后决定采用远程控制的方式,我协助他完成了有关内容:
在经过若干小时的远程操作之后,最终还是顺利帮助队员解决了问题:
克隆>拉取>修改>提交>请求拉取>合并请求
5.1随机运算式生成函数:

5.2输入题数并调用运算式生成函数,计算得分和答对的题数:
5.3 主函数直接test() ,调用5.2的功能,如上图
5.4运行结果截图:
实验项目仓库地址:https://github.com/Y-W-Q/sizeyunsuan
实验总结:
1,本次实验完成度较高,满足了课题要求,实现了输入任意数量的题数并产生对应数量题目。题目产生和用户答题依次进行,并依次判断给分,最后输出总分和答对的总题数;
2,本次实验在结对编程方面学习到了其基本思想和实际效果,结对编程确实是一种高效的编程模式,值得日后多加利用;
3,实验中遇到了若干小问题,但都通过努力妥善解决了,如使用电脑远程控制,查阅资料,自己百度等等,收获很多。