zoukankan      html  css  js  c++  java
  • 2020软件工程03作业

    这个作业属于那个课程 https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1
    这个作业的要求 https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1/homework/10494
    作业的目标 了解单元测试和算法、类的理解
    作业正文 如下
    参考文献 百度

    GitHub作业地址:https://github.com/zsdm/text

    PSP2.1Personal Software Process Stages预估耗时实际耗时
    Planning 计划 60分钟 2小时
    Estimate 估计这个任务需要多少时间 64小时 80小时
    Development 开发 6小时 8小时
    Analysis 需求分析 (包括学习新技术) 2小时 4小时
    Design Spec 生成设计文档 45分钟 2小时
    Design Review 设计复审 2小时 2小时
    Coding Standard 代码规范 (为目前的开发制定合适的规范) 30分钟 20分钟
    Design 具体设计 1小时 45分钟
    Coding 具体编码 5小时 9小时
    Code Review 代码复审 30分钟 30分钟
    Test 测试(自我测试,修改代码,提交修改) 60分钟 1.5小时
    Reporting 报告 2小时 2.5小时
    Test Repor 测试报告 30分钟 30分钟
    Size Measurement 计算工作量 30分钟 1小时
    Postmortem & Process Improvement Plan 事后总结, 并提出过程改进计划 30分钟 30分钟
    合计      

    代码

    处理参数部分

    参数一般为-m (m) -n (n) -i (input) -o (output)
    简便处理直接取String数组args第1,3,5,7个元素。

    /* b为x所在的小九宫格左顶点竖坐标 */

    int b = x / m / row * row; /* c为x所在的小九宫格左顶点横坐标 */

    int c = x % m / col * col; for (i = b; i < b + row; i++)

    { for (j = c; j < c + col; j++)

    { if (a[i][j] == key) { return false; }

    }

    }

    return true;

    解题思路

    看到题目为解数独,也不会什么算法就直接暴力解决。
    test方法逻辑

    test方法进行行列测试(当阶数为4,6,8,9时额外进行宫测试)

    public static boolean test(int[][] problem,int x,int y,int rank) {
    	int flagx=0;
    	int flagy=0;
    	int xr=0;
    	int yr=0;
    	int flagr=0;
    	for(int i=0;i<rank;i++) {//行测试
    		if(problem[x][y]==problem[i][y]) {
    			flagx++;
    		}
    	}
    	if(flagx==2) {
    		return false;
    	}
    	for(int i=0;i<rank;i++) {//列测试
    		if(problem[x][y]==problem[x][i]) {
    			flagy++;
    		}
    	}
    	if(flagy==2) {
    		return false;
    	}
    	switch(rank) {//宫测试初始化
    		case 4:
    			xr=2;
    			yr=2;
    			break;
    		case 6:
    			xr=2;
    			yr=3;
    			break;
    		case 8:
    			xr=4;
    			yr=2;
    			break;
    		case 9:
    			xr=3;
    			yr=3;
    			break;
    		default:
     	}
    	if(xr!=0) {//宫测试
    		for(int i=x-x%xr;i<x+xr-x%xr;i++) {
    			for(int j=y-y%yr;j<y+yr-y%yr;j++) {
    				if(problem[x][y]==problem[i][j]) {
    					flagr++;
    				}
    			}
    		}
    		if(flagr==2) {
    			return false;
    		}
    	}
    	return true;
    }

    性能测试

    样例分析

     代码结果

     

    7.总结

    这次作业的体会就是,不懂的还是太多很多都要从零开始,比如说怎么用github,怎么用git等等,所以还需要继续努力。还不这么会用软件,一点点的摸索。用了半天,还需要大佬的领导教教。

     
  • 相关阅读:
    tomcat最大连接数
    【转】性能测试总结---测试流程篇
    nginx访问量统计
    在Excel中计算过去某一天到今天一共多少天
    Linux服务器/etc/profile
    Linux服务器安装MySQL
    idea无法识别maven项目
    python3 实现RC4加解密
    Python实现128-ECB 解密
    BlowFish加解密原理与代码实现
  • 原文地址:https://www.cnblogs.com/zht6/p/12588667.html
Copyright © 2011-2022 走看看