实验二 结对编程-第二阶段

一、实验目标
  1)体验敏捷开发中的两人合作。

  2)进一步提高个人编程技巧与实践。

二 、实验内容
  1)根据以下问题描述,练习结对编程(pair programming)实践;

  2)要求学生两人一组,自由组合。每组使用一台计算机,二人共同编码,完成实验要求。

  3)要求在结对编程工作期间,两人的角色至少切换 4 次;

  4)编程语言不限,版本不限。建议使用 Python 或 JAVA 进行编程。

三、博客内容

1、代码规范

1.类名首字母大写,字段、方法以及对象的首字母小写。所有标识符,其中包含的所有单词都应该紧靠在一起,而且大写中间单词的首字母

2.文件名全部小写,可以包含下划线 (_) 或连字符 (-),依照项目的约定.。

3.类名是一个名词,采用大小写混合的方式,每个单词的首字母大写。

4.注释使用“//”;对于所有的javadoc的注释则使用“/** */”;而临时对代码块进行注释尽量使用“/* */”。

5.缩进排版规范避免一行的长度超过60个字符。

6.提供对实例以及类变量的public或private访问控制,尽可能不适用默认值或protected访问控制。

7.避免用一个对象访问一个类的静态变量或方法。应该用类名代替。

2、程序的总体设计(附图说明模块之间的关系)

   1. 生成中缀表达式。2. 将中缀表达式转换成后缀表达式。3. 用后缀表达式建成二叉树。4. 通过二叉树查重。5. 通过后缀表达式计算。

        实验二 结对编程-第二阶段_第1张图片

3、程序结对编程过程(附图)及功能实现情况(附代码和图)

实验中互换角色进行进行代码的编写,并通过github托管代码

第一次和第二次交互完成代码编写

实验二 结对编程-第二阶段_第2张图片实验二 结对编程-第二阶段_第3张图片

 

 

实验二 结对编程-第二阶段_第4张图片

 第三四次交互完成界面设计

实验二 结对编程-第二阶段_第5张图片

 功能实现:

用随机数实现100以内的加、减、乘、除运算,总计输出10个运算式,等待输入结果,然后进行对错判断并输出。最后输出统计答对的题数与分数。

#pragma warning(disable : 4996)
#include 
#include 
#include 
int main()
{
    int a, b, d, t;    //定义两个操作数a,b,结果d,输入结果t
    char c;         //运算符c可取“+、-、×、÷”
    int i, sum = 0;    //题目数量i,答对数目sum
    srand(time(0)); //初始化随机数发生器
    for (i = 0; i < 10; i++)
    {
        a = rand() % 100 + 1;
        b = rand() % 100 + 1;
        c = rand() % 4; 
        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("正确\n");
        }
        else
            printf("错误\n");

    }
    printf("答对 %d 题,得分:%d\n", sum, sum * 10);
    return 0;
}

界面设计前:

 实验二 结对编程-第二阶段_第6张图片

 

 界面设计后:

实验二 结对编程-第二阶段_第7张图片

 

 实验二 结对编程-第二阶段_第8张图片

 

 实验二 结对编程-第二阶段_第9张图片

4、项目github地址(附图)

https://github.com/lv-byte/LL

 实验二 结对编程-第二阶段_第10张图片

 

 

5、实验总结

  此次实验让我更加熟悉了git命令,更重要的是知道了如何结对编程,这种编程方式很新颖,很能锻炼两个人的能力,并且让我了解了团队合作的重要性,从队友上认识到自己的不足和学到许多知识。

 

你可能感兴趣的:(实验二 结对编程-第二阶段)