这个作业属于那个课程 | https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1 |
---|---|
这个作业的要求在那里 | https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1/homework/10494 |
这个作业的目标 | 编写数独程序 并消除警告 |
作业正文 | https://www.cnblogs.com/yunbiyue/p/12590544.html |
其他参考文献 | 各位大佬 |
Github地址
https://github.com/yunbiyue/baicai/tree/master/20177633
PSP表格
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 20min | 20min |
Estimate | 估计这个任务需要多少时间 | 13h | 32h |
Development | 开发 | 1h | 1h |
Analysis | 需求分析 (包括学习新技术) | 30min | 1day |
Design Spec | 生成设计文档 | 20min | 20min |
Design Review | 设计复审 | 0min | 3h |
Coding Standard | 代码规范 (为目前的开发制定合适的规范) | 0min | 0min |
Design | 具体设计 | 40min | 8h |
Coding | 具体编码 | 40min | 2h |
Code Review | 代码复审 | 2h | 1h |
Test | 测试(自我测试,修改代码,提交修改) | 20min | 10min |
Reporting | 报告 | 2h | 2h |
Test Repor | 测试报告 | 10min | 20min |
Size Measurement | 计算工作量 | 3h | 4h |
Postmortem & Process Improvement Plan | 事后总结, 并提出过程改进计划 | 1h | 1h |
合计 | 12h | 47h |
解题思路
拿到题目第一眼就决定是选择使用回溯遍历,可是曾经经历过马踏棋盘半年运行不出结果的我,对这种方法深深质疑起来,于是在网上找求解数独盘的方法,还好在网上了解了排除法,设置一个三维数组,充当标记值,用排除法利用已知数据,挨个排除每一行,每一列,每一宫的可能值,直到只剩下一个可能值时填入,再次进入循环,利用填入数值再次进入排除法,直到所有格子都被填入数据或超出最大循环次数,则输出结果
功能设计模块
流程图
方法体
排除法详细编程
命令行输入
文件写入输出
静态检测
结果输出
怎么说呢,感觉做这道题目的过程就是被打击的过程吧,啥也不会就只能靠大佬带躺,代码打过一遍转眼就忘了干啥的,老年痴呆提前了。。。
自评
Github地址 | 消除警告 | psp表格 | 解题思路 | 设计实现 | 改进 | 代码说明 | 心路历程 | 总分 | |
---|---|---|---|---|---|---|---|---|---|
2 | 1 | 2 | 1 | 1 | 2 | 1 | 1 | 1 | 12 |
2 | 1 | 2 | 1 | 1 | 1.5 | 0.5 | 0.5 | 0.5 |