一、实验目标
1)体验敏捷开发中的两人合作。
2)进一步提高个人编程技巧与实践。
二 、实验内容
1)根据以下问题描述,练习结对编程(pair programming)实践;
2)要求学生两人一组,自由组合。每组使用一台计算机,二人共同编码,完成实验要求。
3)要求在结对编程工作期间,两人的角色至少切换 4 次;
4)编程语言不限,版本不限。建议使用 Python 或 JAVA 进行编程。
三、代码规范
1)我们用的是c++语言,主函数使用int main(),为了规范最后有return 0语句;
2)头文件有#include
3)在一些必要的地方加上一些注释,加强代码的可读性;
5)虽然c++对缩进不像python那样严格,但是为了代码的可阅读性,我们也严格进行代码缩进。
四、程序的总体设计
因题目较简单,我们仅用了主函数即可完成题目。主函数里含有三个模块,第一个模块产生随机数参与运算和随机选择运算;
第二个模块判断用户输入的答案是否正确并且判断是否还有答题机会(共有三次);
第三个模块计算分数,第一次答对加10分,第二次答对加7分,第三次答对加5分。
五、程序结对编程过程及功能实现情况
主体框架和计算分数模块由我来编写,加法运算和不超过100、减法运算差不为负数等要求以及答题机会模块由王杰编写。由于c++用的不多,有时语法会忘记,我们会互相询问。
1)编写for循环,产生10道题;
2)使用rand()函数产生随机数num1,num2参与运算和用来选择运算的变量n;
3)使用switch()函数随机选择运算,(case 0:)n=0时进行加法运算,首先确保num1+num2不大于100,然后输出题目供用户计算,最后使用break语句;(case 1:)n=1时进行减法运算,首先确保num1-num2不为负数,然后输出题目供用户计算,最后使用break语句;(case 2:)n=2时进行乘法运算,首先确保num1*num2不大于100,然后输出题目供用户计算,最后使用break语句;(default:)n=3时进行除法运算,首先确保除数不为0,并且必须整除,然后输出题目供用户计算,最后使用break语句。
4)使用do-while()函数判断用户输入答案是否正确,以及计算是否还有答题机会
5)使用switch()函数判断答题次数,第一次答对,加10分,第二次答对,加7分,第三次答对,加5分
六、项目GitHub地址:
https://github.com/Leo-wj123/my-travel-plans
七、实验总结
通过本次实验学习了使用GitHub进行结对编程提高了团队编程能力以及个人编程能力,对敏捷编程以及结对编程有了更深的了解。