一、实验目标
1)体验敏捷开发中的两人合作。
2)进一步提高个人编程技巧与实践。
二 、实验内容
1)根据以下问题描述,练习结对编程(pair programming)实践;
2)要求学生两人一组,自由组合。每组使用一台计算机,二人共同编码,完成实验要求。
3)要求在结对编程工作期间,两人的角色至少切换 4 次;
4)编程语言不限,版本不限。建议使用 Python 或 JAVA 进行编程。
三、实验过程
1、代码规范
(1)花括号 :{ }
每个函数的定义和说明应该从第一列开始书写。函数名(包括参数表)和函数体的花括号应该各占一行。在函数体结尾的括号后面可以加上注释,注释应该包括函数名,这样比较方便进行括号的配对检查,也可以清晰地看出函数是否结束。
(2)缩进的使用:根据语句间的层次关系采用缩进格式书写程序,每进一层,往后缩进一层。有两种缩进方式:1,使用Tab键;2,采用4个空格。整个文件内部应该统一,不要混用Tab键和4个空格,因为不同的编辑器对Tab键的处理方法不同。
(3)折行的使用:每行的长度不要超过80个字符,当程序行太长时,应该分行书写;当需要把一个程序行的内容分成几行写时,操作符号应该放在行末;分行时应该按照自然的逻辑关系进行。
(4)嵌套语句的格式:对于嵌套式的语句--即语句块(如,if、while、for、switch等)应该包括在花括号中。花括号的左括号应单独占一行,并与关键字对齐。
(5)注释:C语言中使用一组(/* … */)作为注释界定符。注释内容尽量用英语方式表述;注释的基本样式参考范例4;注释应该出现在要说明的内容之前,而不应该出现在其后;除了说明变量的用途和语言块末尾使用的注释,尽量不使用行末的注释方式。
2、程序的总体设计
生成开始界面,产生随机数,判断随机数是否合理,生成算式,,输入结果,判断结果正确与否,给出成绩,由成绩,给出鼓励。
3、程序结对编程过程
4、功能实现情况
(1)
system("color 73");
printf("--------------------欢迎来到四则运算小练习--------------------
");
for (y = 1.5f;y > -1.5f;y -= 0.1f)
{
for (x = -1.5f;x < 1.5f;x += 0.05f)
{
m = x*x + y*y - 1;
putchar(m*m*m - x*x*y*y*y <= 0.0f ? '*' : ' ');
}
putchar('
');
}
printf("-------------------------咱们开始喽-------------------------
");
(2)
for(i=0;i<10;i++)
{
a=rand()%100+1;
b=rand()%100+1;
c=rand()%4; //0表加,1表减,2表乘,3表除
/**< 数据合格判断及算式显示 */
printf(" 第%d题:",i+1);
switch(c)
{
case 0:
while((d=a+b)>100) //保证和在100内
{
a=rand()%100+1;
b=rand()%100+1;
}
printf("%d + %d = ",a,b);
break;
case 1:
while(a>100||b>100) //被减数小于100
{
a=rand()%100+1;
b=rand()%100+1;
}
if(a<b) //被减数大于减数
{
d=a;
a=b;
b=d;
}
d=a-b;
printf("%d - %d = ",a,b);
break;
case 2:
while((d=a*b)>100) //保证积小于100
{
a=rand()%100+1;
b=rand()%100+1;
}
printf("%d × %d = ",a,b);
break;
case 3:
while(a>100||b>100||(a*b==0)) //保证被除数小于100且除数不为0
{
a=rand()%100+1;
b=rand()%100+1;
}
if(a<b) //被除数必须大于除数
{
d=a;
a=b;
b=d;
}
a=(a/b)*b; //保证整除
d=a/b;
printf("%d ÷ %d = ",a,b);
break;
}
/**< 输入你的计算结果 */
scanf("%d",&t);
if(d==t)
{
sum++;
printf("正确
");
}
else
printf("错误
");
}
(3)
printf(" 答对 %d 题,得分:%d
",sum,sum*10);
if(sum>=7)
printf(" 小朋友你真厉害,继续加油哦!(*^▽^*)
");
else
printf(" 不要泄气哦,继续加油,你一定可以的!(*^▽^*)
");
return 0;
5、项目 GitHub地址
https://github.com/yixia1/pp_project.git
四、实验总结
本次实验是第一次结对编程实验,在此之前,我们对结对编程都很陌生,无从下手,通过本次实验对结对编程有了初步的认识,结对编程使我们的工作效率得到了提高,思考问题也更加的全面,虽然在双方的思路上有一些不同的见解,花费的时间也比一个人更多一些,但是却使我们的程序得到了提高,实现的更好。