2020软件工程作业03
------------恢复内容开始------------
|这个作业属于哪个课程|https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1
--|:--😐--:
|这个作业要求在哪里|https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1/homework/10494
|这个作业的目标|数独编程测试
|作业正文|
|参考文献|
https://blog.csdn.net/xiang0731/article/details/88240306?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task
https://www.icode9.com/content-3-251863.html
https://www.cnblogs.com/rocedu/p/6371315.html#SECUNITTEST
https://blog.csdn.net/a42773521/article/details/101618447
1.Github 项目地址
https://github.com/wurenweigudao/20177692
2.PSP 表格
PSP2.1 | Personal Software Process Stages | 预估耗时(小时) | 实际耗时(小时) |
---|---|---|---|
Planning | 计划 | 1 | 1.5 |
Estimate | 估计这个任务需要多少时间 | 31 | 44.5 |
Development | 开发 | 4 | 5 |
Analysis | 需求分析 (包括学习新技术) | 4 | 5 |
Design Spec | 生成设计文档 | 1 | 3 |
Design Review | 设计复审 | 1 | 2 |
Coding Standard | 代码规范 (为目前的开发制定合适的规范) | 2 | 3 |
Design | 具体设计 | 2 | 5 |
Coding | 具体编码 | 5 | 10 |
Code Review | 代码复审 | 1 | 2 |
Test | 测试(自我测试,修改代码,提交修改) | 1 | 2 |
Reporting | 报告 | 2 | 3 |
Test Repor | 测试报告 | 2 | 2 |
Size Measurement | 计算工作量 | 2 | 2 |
Postmortem & Process Improvement Plan | 事后总结, 并提出过程改进计划 | 2 | 2 |
合计 | 31 | 44.5 |
3. 解题思路
一开始看到题目的时候,真的不知道怎么下手。认真读题一小时后,又去度娘看了下大佬的博客,稍微有点思绪了。
知道是解决3-9宫格的数独游戏,需要满足每行每列数字不同。
三宫格:盘面是33。使1-3每个数字在每一行、每一列中都只出现一次,不考虑宫;
四宫格:盘面是22四个宫,每一宫又分为22四个小格。使1-4每个数字在每一行、每一列和每一宫中都只出现一次;
五宫格:盘面是55。使1-5每个数字在每一行、每一列中都只出现一次,不考虑宫;
六宫格:盘面是23六个宫,每一宫又分为32六个小格。使1-6每个数字在每一行、每一列和每一宫中都只出现一次;
七宫格:盘面是77。使1-7每个数字在每一行、每一列中都只出现一次,不考虑宫;
八宫格:盘面是42八个宫,每一宫又分为24八个小格。使1-8每个数字在每一行、每一列和每一宫中都只出现一次;
九宫格:盘面是33九个宫,每一宫又分为3*3九个小格。使1-9每个数字在每一行、每一列和每一宫中都只出现一次;
4. 设计实现过程
1.写一个方法legal,以判断在九宫格中的坐标(x,y)的位置上插入value,是否符合上述规则,代码如下
2.shuDu[][]是用来存放数独游戏的二维数组。
3.使用回溯法求解数独
4.初始化命令行的传入的参数
5.调用主函数
5. 改进程序性能
1.首先运行的时候,出现了个小错误。
起初我以为是编写格式不是utf-8,后来改了还是出错。最后发现是Sudoku改为sudoku就好了
2.其次呢,发现是代码有个地方有问题,容易益出,把length改为length-1.
3.单元测试结果
6. 代码说明
1.写一个方法legal,以判断在九宫格中的坐标(x,y)的位置上插入value,是否符合上述规则,代码如下
2.shuDu[][]是用来存放数独游戏的二维数组。
3.使用回溯法求解数独
4.初始化命令行的传入的参数
5.调用主函数
7. 心历路程与收获
在做作业的过程中,遇到超级多的问题,真的只有自己知道那种崩溃的感觉。装软件是,插件也是,代码运行测试也是。好多次都想放弃了,还是坚持去做了。这次作业增强了自己的动手能力,和解决问题的能力。
总结:
多写多看多做,慢慢成长。我一定不能被打到。