计算与软件工程 作业三

作业要求 https://edu.cnblogs.com/campus/jssf/infor_computation17-31/homework/10454
课程目标 学习到更多关于软件编程的知识,通过这门课程提高动手实践能力
此作业在哪个具体方面帮我实现目标 函数运用,单元测试
其他参考文献 https://blog.csdn.net/weixin_34106122/article/details/93372984?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task
作业正文 https://www.cnblogs.com/shenlingha/p/12458601.html

正文##

单元测试###

数组中最大子数组的和

用类/函数来实现
需求:希望返回 3 种信息
最大子数组的和
最大子数组开始的下标
最大子数组结束的下标
从文本文件中读输入的数据,熟悉文件操作, 文件有两种数据
第一个数字:这次测试中有多少个数据, 数字后面是冒号。
后续数字: 每个数据的值,用逗号隔开

代码:

#include<iostream>
#include<cstdlib>
#define n 100

using namespace std;
void main()
{
    int a[n], b[n][n];
    int length, i, j, w = 0, p = 0, q = 0, temp, m;
    cout << "请输入随机数组:" << endl;
    for (length = 0;;)
    {
        cin >> a[length];
        length++;
        if (getchar() == '\n')
        {
            break;
        }
    }
    cout << "这个数组的长度为:" << length << endl;
    //求子数组
    for (i = 0; i<length; i++)//两次循环,进行排除法,判断每个数所构成的最大子数组
    {
        m = i;
        w = 0;
        j = 0;
        while (j <= length - 1)
        {
            w += a[m];
            b[i][j] = w;
            m++;
            if (m>length - 1)
            {
                m = 0;
            }
            j++;
        }
    }
 
    temp = b[0][0];
    for (i = 0; i<length; i++)//将每个数对应的最大子数组进行判断,最后得到整个整数组的最大子数组
    {
        for (j = 0; j<length; j++)
        {
            if (b[i][j]>temp)
            {
                temp = b[i][j];
                p = i;
                q = j;
            }
        }
    }
 
    cout << "最大子数组之和为:" << temp << endl;
    cout << "最大子数组中元素的开始和结束的下标位置:" << endl;
    i = 0;
    while (i <= q)
    {
        cout << p+1 << "  ";
        p++;
        if (p >= length)
        {
            p = 0;
        }
        i++;
    }
 system("pause");
}


博客作业###

大一的时候,我们首先接触了简单的MS Office二级,学习了基础的Word、Excel、PPT操作,接着我们学习了C++,这门课程是以继承和多态为特点的面向对象的程序设计,后来又学习了很多的编程语言,比如Java,数据结构,数据库,asp,MATLAB等很多的计算机课程。在这些课程学习过程中,会发现运用计算机编程可以解决很多复杂的问题,把我们复杂的问题通过计算机来解决。也了解到学好计算机是非常重要的,所以希望在接下来的课程中,可以学习到更多的知识,并且希望可以做到自己不断地去尝试,积累经验,加强动手能力。

预习:两人合作###

a.代码的规范主要分为代码风格规范和代码设计规范。代码风格的原则是:简明,易读,无二义性。,例如行宽、缩进、括号、注释等。代码设计规范牵涉到程序设计、模块之间的关系、设计模式等方面,主要讨论了通用的原则,如函数、错误处理、代码复审等。

b.结对编程。结对编程的特点主要是在高速度中完成任务,任务有较高的技术要求,任务失败的代价很高。

结对编程的好处也有很多:

(1)在开发层次,结对编程能提供更好的设计质量和代码质量,两人合作能有更强的解决问题的能力。
(2)对开发人员自身来说,结对工作能带来更多的信心,高质量的产出能带来更高的满足感。
(3)在心理上, 当有另一个人在你身边和你紧密配合, 做同样一件事情的时候, 你不好意思开小差, 也不好意思糊弄。
(4)在企业管理层次上,结对能更有效地交流,相互学习和传递经验,能更好地处理人员流动。因为一个人的知识已经被其他人共享。

关于两人合作,总的来说就是,两个人合作的过程中,要取长补短,互相学习互相进步,遇到问题时及时反馈给对方,双方一起协商讨论,编写代码也需要合作,一个人总是势单力薄的,同时也要确保两个人在这个过程中是平等的。在结束合作后,也可以互相提意见,从而得到进步。

码云链接:https://gitee.com/shen_ling_ha/codes/xo6uaevp027wh1bdt84kq70

posted @ 2020-03-11 11:57  草莓葡萄  阅读(185)  评论(5编辑  收藏  举报