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

    作业要求 https://edu.cnblogs.com/campus/jssf/infor_computation17-31/homework/10454
    我的课程目标 学会一些软件的运用,对自己的代码进行储存,在有效代码基础上做出符合作业要求的改动,加以自己的理解。
    此作业在那些具体方面实现 代码的运行查错
    其他参考文献
    作业正文

    正文

    代码实现

    数组中最大子数组的和。
    用类/函数来实现
    需求:希望返回 3 种信息
    最大子数组的和
    最大子数组开始的下标
    最大子数组结束的下标
    运行结果

    #include<iostream>
    #include<cstdlib>
    using namespace std;
    int main()
    { 
      int n,star=0,end=0;
      //实现整型数组的输入
      cout<<"输入整型数组的长度";
      cin>>n;
      int *p=new int[n];
      cout<<"输入一个整型数组";
      for(int i=0;i<n;i++)
      { 
          cin>>p[i];
      }
      int sum=p[0];
      int max_sum=p[0];
      for(int i=1;i<n;i++)
      {   
          if(sum>0)    //从第二个数开始判断是否为正数
          { 
              sum=sum+p[i];  //是正数,将和值(初始值为p【0】)和第i+1个数做和。
             if(sum>max_sum) // 并判断是否为最大,是让其赋值给max_sum,并将子数组末位置改变。
               { 
                   max_sum=sum;
                   end=i;
               }
          }
          else 
          { 
              sum=p[i];  //是负数,将第i+1个数的值赋值给和值sum
                 if(sum>max_sum)//并判断是否为最大,是让其赋值给max_sum,并将子数组初、末位置改变。
                 {    
                    max_sum=sum;
                    star=i;
                    end=i;
                 }
          }
      }
      cout<<"最大子数组位置为第"<<star+1<<"个到第"<<end+1<<"个"<<endl;
      cout<<"sum="<<max_sum<<endl;
      system("pause");
      return 0;
    }
    

    单元测试

    开始:所有单元测试都失败
    改进程序,加入正确的逻辑,看到有单元测试通过,并且看到代码覆盖率的增加
    重复, 直到所有单元测试都通过,代码覆盖率达到满意的结果。

    #include "stdafx.h"
    
    using namespace System;
    using namespace System::Text;
    using namespace System::Collections::Generic;
    using namespace Microsoft::VisualStudio::TestTools::UnitTesting;
    
    namespace TestProject2
    {
    	[TestClass]
    	public ref class UnitTest1
    	{
    	private:
    		TestContext^ testContextInstance;
    
    	public: 
    		/// <summary>
    		///获取或设置测试上下文,该上下文提供
    		///有关当前测试运行及其功能的信息。
    		///</summary>
    		property Microsoft::VisualStudio::TestTools::UnitTesting::TestContext^ TestContext
    		{
    			Microsoft::VisualStudio::TestTools::UnitTesting::TestContext^ get()
    			{
    				return testContextInstance;
    			}
    			System::Void set(Microsoft::VisualStudio::TestTools::UnitTesting::TestContext^ value)
    			{
    				testContextInstance = value;
    			}
    		};
    
    		#pragma region Additional test attributes
    		//
    		//编写测试时,可以使用以下附加特性:
    		//
    		//在运行类中的第一个测试之前,使用 ClassInitialize 来运行代码
    		//[ClassInitialize()]
    		//static void MyClassInitialize(TestContext^ testContext) {};
    		//
    		//在类中的所有测试都已运行之后,使用 ClassCleanup 来运行代码
    		//[ClassCleanup()]
    		//static void MyClassCleanup() {};
    		//
    		//在运行每个测试之前,使用 TestInitialize 来运行代码
    		//[TestInitialize()]
    		//void MyTestInitialize() {};
    		//
    		//在每个测试运行完之后,使用 TestCleanup 来运行代码
    		//[TestCleanup()]
    		//void MyTestCleanup() {};
    		//
    		#pragma endregion 
    
    		[TestMethod]
    		void TestMethod1()
    		{
    			//
    			// TODO: 在此处添加测试逻辑
    			//
    		};
    	};
    }
    

    代码push

    码云链接:https://gitee.com/semana/warehouse

    博客作业

    回顾前两年的学习,从大一的C++入手,开始编写一些简单的程序,到期末的课程设计,有自己单独完成的,也有几人和合作完成的,代码的编写能力还相对较弱,大部分会搜索资料,进行修改。大二开始涉及Matlab,Java等一些新的编程软件,了解了各个编程软件的利弊,学会运用计算机语言解决数学问题。大三又新接触了数据库和操作系统一些比较深入的编程知识,在使用过程中可以发现vs的使用频率较高,可以设计各种方面的编程,功能也较多,matlab对于画函数图比较方便,function定义一个函数输入功能即可实现,到现在大三下学期接触了博客的使用,学习了markdown的使用,在网页中也可以类似word改变字体大小格式等。希望在接下去的学习中,跟着老师一起学习编程语言,能更加熟练的掌握编程技巧,在学习中能够运用上代码编程解决数学问题和实际问题。后续对电脑的运用还要加强,在以后的社会,计算机是主流,熟练掌握计算机的运用,不论是考研还是工作都是很有帮助的。

    预习

    代码风格的原则是:简明,易读,无二义性。代码设计要规范。

    代码的复审:

    结对编程是一种敏捷软件开发的方法,两个程序员在一个计算机上共同工作。一个人输入代码,而另一个人审查他输入的每一行代码。在结对编程中,观察员同时考虑工作的战略性方向,提出改进的意见,或将来可能出现的问题以便处理。这样使得驾驶者可以集中全部注意力在完成当前任务的“战术”方面。观察员当作安全网和指南。结对编程对开发程序有很多好处。比如增加纪律性,写出更好的代码等。

  • 相关阅读:
    Orchard:如何生成模块和生成一个Content Part
    马云2011年邮件
    asp.net页面编码问题
    创建一个三D立体感的主页
    25个网页设计实例
    设计一个简洁的个人网站
    新浪微博产品交互改进[转]
    设计一个暗色调简洁漂亮的主页
    用HTML5 画LOGO
    成功企业站设计思路
  • 原文地址:https://www.cnblogs.com/yuhanzhou/p/12442079.html
Copyright © 2011-2022 走看看