zoukankan      html  css  js  c++  java
  • 计算与软件工程作业三

    计算与软件工程作业三

    作业要求 第三周作业
    课程目标 单元测试 自我总结
    作业帮助 了解单元测试的使用方法与功能 审视自身技能
    参考文献 构建之法 单元测试

    作业正文

    https://edu.cnblogs.com/campus/jssf/infor_computation17-31/homework/10454

    单元测试

    数组中最大子数组的和。
    • 用类/函数来实现
      需求:希望返回 3 种信息
      最大子数组的和
      最大子数组开始的下标
      最大子数组结束的下标
      从文本文件中读输入的数据,熟悉文件操作, 文件有两种数据
      第一个数字:这次测试中有多少个数据, 数字后面是冒号。
      后续数字: 每个数据的值,用逗号隔开
      比如
      文件内容:
      17: -32, -10, 33, -23, 32, -12, 41, -12, 1, 3, 5, -98, 70, -21, 10, -9, 61
      输出
      sum = 71
    具体代码
    #include <iostream>
    using namespace std;
    
    int getMax(int a,int b){
        return a>b?a:b;
    }
    
    int maxSum(int arr[],int n){
        int sum=arr[0];
        int max=arr[0];
        int newstart=0;
        int start=0;
        int end=0;
        for(int i=1;i<n;i++){
            sum=getMax(sum+arr[i],arr[i]);
            if(arr[i]>(sum+arr[i]))
                newstart=i;
            if(sum>max){
                max=sum;
                start=newstart;
                end=i;
            }
        }
        return max;
    }
    
    int start(int arr[],int n){
        int sum=arr[0];
        int max=arr[0];
        int newstart=0;
        int start=0;
        int end=0;
        for(int i=1;i<n;i++){
            sum=getMax(sum+arr[i],arr[i]);
            if(arr[i]>sum+arr[i])
                newstart=i;
            if(sum>max)
                max=sum;
            start=newstart;
            end=i;
        }
        return start;
    }
    
    int end(int arr[],int n){
        int sum=arr[0];
        int max=arr[0];
        int newstart=0;
        int start=0;
        int end=0;
        for(int i=1;i<n;i++){
            sum=getMax(sum+arr[i],arr[i]);
            if(arr[i]>(sum+arr[i]))
                newstart=i;
            if(sum>max)
                max=sum;
            start=newstart;
            end=i;
        }
        return end;
    }
    
    int main(){
        int arr[]={-32, -10, 33, -23, 32, -12, 41, -12, 1, 3, 5, -98, 70, -21, 10, -9, 61};
        int length=17;
        cout<<"数组最大子数组和:"<<maxSum(arr,length)<<endl;
        cout<<"数组最大子数组起始下标:"<<start(arr,length)<<endl;
        cout<<"数组最大子数组结束下标:"<<end(arr,length)<<endl;
        return 0;
    }
    

    Windows电脑滞留在宿舍,macos没有找到合适的工具,无法做c++的单元测试,返校后再回顾。

    Gitee链接

    https://gitee.com/Vhe_jian/Learning/tree/master/MSA/

    博客作业

    回顾总结你在信息与计算科学专业前两年的学习经历和项目技能等,写一篇关于你自己的简历,介绍你的技能,并针对未来准备从事的职业,评价你目前的技术、能力是否胜任,(个人能力的评价可以参考软件工程师个人能力评价表https://www.cnblogs.com/xinz/p/3852177.html),并针对未来的职业发展方向,指明还有哪些技术、技能需要在后续大学一年的时间里需要加强的。

    在大学的前两年接触过c++、java、matlab等程序设计语言,计算机相关课程接触过数据结构、操作系统、asp网页设计、数据库。语言学习基本停留在基础阶段,没有深入的研究,能够解决一些小问题,写一些小程序,千行以内,并没有在什么大项目上实践过,数据结构也仅仅在理论层面有所理解,机试能力仍不足。目前仍在学习中,学习计算机四门基础科目理论,打下基础,将来打算从事计算机相关行业。

  • 相关阅读:
    js调用.net后台事件,和后台调用前台等方法以及js调用服务器控件的方法
    .net反编译工具reflector5.0 的介绍及使用
    box flex 弹性盒模型
    TransactionScope使用说明
    您的主机中的软件中止了一个已建立的连接。
    Android中Handler
    转载 JavaScript的24条实用建议
    repeater中的checkbox 的方法以及datalist中放了一个按牛!为什么我按该按牛时候不能触发ItemCommand事件的主要原因
    asp.net cookies用法
    常用的数据分页技术总结
  • 原文地址:https://www.cnblogs.com/jian-He/p/12456325.html
Copyright © 2011-2022 走看看